﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Text;
using netDxf;
using netDxf.Blocks;
using netDxf.Collections;
using netDxf.Entities;
using netDxf.Header;
using netDxf.Objects;
using netDxf.Tables;
using netDxf.Units;
using Attribute = netDxf.Entities.Attribute;
using Image = netDxf.Entities.Image;
using Point = netDxf.Entities.Point;
using Trace = netDxf.Entities.Trace;
namespace TestDxfDocument
{
    class Rotationallysymmetriccuttingtoolassembly
    {
        public static void Rotationallysymmetriccuttingtoolassembl(Dictionary<string, Object> data)   //转换器,旋转对称
        {
            DxfDocument dxf = new DxfDocument();
            //图层
            Layer contour = new Layer("contour") { Color = AciColor.Cyan };    //轮廓层
            Layer dimensioning = new Layer("dimensioning");    //尺寸层
            Layer refin = new Layer("refin") { Color = AciColor.Red };    //基准线/内轮廓
            Layer centre = new Layer("centre") { Color = AciColor.Yellow };    //中心线
            Layer textlayer = new Layer("textlayer") { Color = AciColor.Blue };    //文本层
            Layer hatching = new Layer("hatching") { Color = AciColor.Blue };    //填充层
            Layer additionalline = new Layer("additionalline") { Color = AciColor.Cyan };    //附加线
            Layer cutting = new Layer("cutting") { Color = AciColor.Red };    //切削层
            Layer nocutting = new Layer("nocutting");    //非切削层
            Layer skcontour = new Layer("skcontour") { Color = AciColor.Cyan };    //sk轮廓层
            Layer skdimensioning = new Layer("skdimensioning");    //sk尺寸线层
            Layer skrefin = new Layer("skrefin") { Color = AciColor.Red };    //sk基准线/内轮廓
            Layer sktext = new Layer("sktext") { Color = AciColor.Blue };  //sk文本
            Layer skhatching = new Layer("skhatching") { Color = AciColor.Blue };    //sk填充
            Layer skadditionlline = new Layer("skadditionlline") { Color = AciColor.Cyan };    //sk附加线
            Layer skviewcontour = new Layer("skviewcontour") { Color = AciColor.Cyan };    //skview轮廓
            Layer skviewdimensioning = new Layer("skviewdimensioning");    //skview尺寸线层
            //作图
            //参数
            double r = 13.5;
            double r1 = 30;
            double f = 1;
            double pi = Math.PI;
            double par = 28 * pi / 180;
            string path = Convert.ToString(data["path"]);
            //主视图
            Vector2 v1 = new Vector2(0, 0);
            Vector2 v2 = new Vector2(v1.X, v1.Y + r - r / 5);
            Vector2 v3 = new Vector2(v2.X, v1.Y - r + r / 5);
            Vector2 v4 = new Vector2(v2.X + r * 2 / 5, v1.Y + r);
            Vector2 v5 = new Vector2(v3.X + r * 2 / 5, v1.Y - r);
            Vector2 v6 = new Vector2(v2.X, v2.Y + r1 - r);
            Vector2 v7 = new Vector2(v3.X, v3.Y - r1 + r);
            Vector2 v8 = new Vector2(v2.X + r * 2.6 / 5, v2.Y);
            Vector2 v9 = new Vector2(v3.X + r * 2.6 / 5, v3.Y);
            Vector2 v10 = new Vector2(v8.X + f, v8.Y - f / 2 / Math.Tan(par));
            Vector2 v11 = new Vector2(v9.X + f, v9.Y + f / 2 / Math.Tan(par));
            Vector2 v12 = new Vector2(v6.X + f * 2 - f / 3, v6.Y + f / Math.Tan(par));
            Vector2 v13 = new Vector2(v7.X + f * 2, v7.Y - f / Math.Tan(par));
            Vector2 v15 = new Vector2(v12.X + r1, v12.Y + f * 2);
            Vector2 v16 = new Vector2(v13.X + r1, v13.Y - f * 2);
            Vector2 v17 = new Vector2(v15.X + f + f / 2, v15.Y);
            Vector2 v18 = new Vector2(v16.X + f + f / 2, v16.Y);
            Vector2 v19 = new Vector2(v17.X, v17.Y + f * 8.6);
            Vector2 v20 = new Vector2(v18.X, v18.Y - f * 8.6);
            Vector2 v21 = new Vector2(v19.X + r - f * 3, v19.Y);
            Vector2 v22 = new Vector2(v20.X + r - f * 3, v20.Y);
            Vector2 v23 = new Vector2(v21.X - f * 2, v1.Y + f * 4.6);
            Vector2 v24 = new Vector2(v21.X - f * 2, v1.Y);
            Vector2 v25 = new Vector2(v21.X - f * 2, v1.Y - f * 4.6);
            Vector2 v26 = new Vector2(v23.X + f * 6.4, v23.Y);
            Vector2 v27 = new Vector2(v25.X + f * 6.4, v25.Y);
            Vector2 v28 = new Vector2(v21.X + f, v21.Y - f * 2);
            Vector2 v29 = new Vector2(v21.X, v23.Y);
            Vector2 v30 = new Vector2(v28.X, v23.Y);
            Vector2 v31 = new Vector2(v21.X + f / 2, v21.Y - f);
            Vector2 v32 = new Vector2(v21.X + f / 2, v23.Y);
            Vector2 v34 = new Vector2(v28.X + f, v28.Y);
            Vector2 v35 = new Vector2(v34.X + f, v21.Y);
            Vector2 v36 = new Vector2(v35.X + f + f * 2 / 5, v35.Y);
            Vector2 v37 = new Vector2(v36.X, v23.Y);
            Vector2 v38 = new Vector2(v34.X, v23.Y);
            Vector2 v39 = new Vector2(v35.X, v23.Y);
            Vector2 v40 = new Vector2(v34.X + f / 2, v21.Y - f);
            Vector2 v41 = new Vector2(v40.X, v23.Y);
            Vector2 v42 = new Vector2(v1.X + f / 1.6, v1.Y + r - r / 5);
            Vector2 v43 = new Vector2(v42.X, v2.Y + r - r / 6);
            Vector2 v44 = new Vector2(v1.X, v43.Y + f + f / 5);
            Vector2 v45 = new Vector2(v43.X + r1 / 3, v43.Y);
            Vector2 v46 = new Vector2(v45.X + f * 1.6, v45.Y + f * 3);
            Vector2 v47 = new Vector2(v46.X + r1 / 2 + f * 2, v46.Y);
            Vector2 v48 = new Vector2(v47.X + f * 4, v43.Y);
            Vector2 v49 = new Vector2(v48.X + f * 6.2, v48.Y);
            Vector2 v50 = new Vector2(v49.X + f, v49.Y - f);
            Vector2 v51 = new Vector2(v42.X, v1.Y - r + r / 5);
            Vector2 v52 = new Vector2(v51.X, v51.Y - r + r / 6);
            Vector2 v53 = new Vector2(v1.X, v52.Y - f + f / 5);
            Vector2 v54 = new Vector2(v52.X + r1 / 3, v52.Y);
            Vector2 v55 = new Vector2(v54.X + f * 1.6, v54.Y - f * 3);
            Vector2 v56 = new Vector2(v55.X + r1 / 2 + f * 2, v55.Y);
            Vector2 v57 = new Vector2(v56.X + f * 4, v52.Y);
            Vector2 v58 = new Vector2(v57.X + f * 6.2, v57.Y);
            Vector2 v59 = new Vector2(v58.X + f, v58.Y + f);
            Vector2 v60 = new Vector2(v55.X + r, v1.Y);
            Vector2 v61 = new Vector2(v55.X + r + f * 2.5, v1.Y + f * 2.8);
            Vector2 v62 = new Vector2(v23.X, v1.Y + f * 2.8);
            Vector2 v63 = new Vector2(v61.X, v1.Y - f * 2.8);
            Vector2 v64 = new Vector2(v23.X, v1.Y - f * 2.8);
            Vector2 v65 = new Vector2(v63.X, v64.Y + f * 1.5);
            Vector2 v66 = new Vector2(v61.X, v62.Y - f * 1.5);
            Vector2 v67 = new Vector2(v22.X + f, v22.Y + f * 2);
            Vector2 v68 = new Vector2(v22.X, v25.Y);
            Vector2 v69 = new Vector2(v67.X, v25.Y);
            Vector2 v70 = new Vector2(v67.X + f, v67.Y);
            Vector2 v71 = new Vector2(v70.X + f, v22.Y);
            Vector2 v72 = new Vector2(v71.X + f + f * 1 / 8, v71.Y);
            Vector2 v73 = new Vector2(v71.X, v25.Y);
            Vector2 v74 = new Vector2(v70.X, v25.Y);
            Vector2 v75 = new Vector2(v72.X, v25.Y);
            Vector2 v76 = new Vector2(v72.X, v72.Y + r1 / 3 - f * 3);
            Vector2 v77 = new Vector2(v76.X + f + f * 4 / 5, v76.Y + f + f * 4 / 5);
            Vector2 v78 = new Vector2(v36.X, v36.Y - r1 / 3 + f * 3);
            Vector2 v79 = new Vector2(v78.X + f + f * 4 / 5, v78.Y - f - f * 4 / 5);
            Vector2 v80 = new Vector2(v77.X + r1 - r1 / 8, v77.Y);
            Vector2 v81 = new Vector2(v79.X + r1 - r1 / 8, v79.Y);
            Vector2 v82 = new Vector2(v80.X, v80.Y - f * 2);
            Vector2 v83 = new Vector2(v81.X, v81.Y + f * 2);
            Vector2 v84 = new Vector2(v82.X + r1 / 3 + f * 3.6, v80.Y - f * 2);
            Vector2 v85 = new Vector2(v83.X + r1 / 3 + f * 3.6, v81.Y + f * 2);
            Vector2 v92 = new Vector2(v85.X, v85.Y - f / 2);
            Vector2 v86 = new Vector2(v85.X + r1 / 3 - f * 3, v92.Y);
            Vector2 v87 = new Vector2(v85.X + r1 / 3 - f * 3, v85.Y - r);
            Vector2 v88 = new Vector2(v85.X, v85.Y - r);
            Vector2 v93 = new Vector2(v84.X, v84.Y + f / 2);
            Vector2 v89 = new Vector2(v84.X + r1 / 3 - f * 3, v93.Y);
            Vector2 v90 = new Vector2(v84.X + r1 / 3 - f * 3, v84.Y + r);
            Vector2 v91 = new Vector2(v84.X, v84.Y + r);
            //Vector2 v92 = new Vector2(v85.X,v85.Y-f/2);
            //Vector2 v93 = new Vector2(v84.X, v84.Y + f / 2);
            Vector2 v94 = new Vector2(v88.X, v88.Y - f * 2);
            Vector2 v95 = new Vector2(v94.X + r1 / 1.6 + f * 8, v94.Y);
            Vector2 v96 = new Vector2(v91.X, v91.Y + f * 2);
            Vector2 v97 = new Vector2(v96.X + r1 / 1.6 + f * 8, v96.Y);
            Vector2 v98 = new Vector2(v95.X, v95.Y - f * 11);
            Vector2 v99 = new Vector2(v98.X + r1 / 3 + f * 2, v98.Y);
            Vector2 v100 = new Vector2(v97.X, v97.Y + r1 / 3 + f);
            Vector2 v101 = new Vector2(v100.X + r1 / 3 + f * 2, v100.Y);
            Vector2 v102 = new Vector2(v99.X, v99.Y + f * 3);
            Vector2 v103 = new Vector2(v101.X, v101.Y - f * 3);
            Vector2 v104 = new Vector2(v102.X + r1 / 3 + f, v102.Y);
            Vector2 v105 = new Vector2(v103.X + r1 / 3 + f, v103.Y);
            Vector2 v106 = new Vector2(v60.X + r * 1.66, v60.Y + f * 2.8);
            Vector2 v107 = new Vector2(v80.X, v106.Y);
            Vector2 v108 = new Vector2(v60.X + r * 1.66, v60.Y - f * 2.8);
            Vector2 v109 = new Vector2(v80.X, v108.Y);
            Vector2 v110 = new Vector2(v77.X - f * 6, v77.Y + f / 1.6);
            Vector2 v111 = new Vector2(v110.X - f * 6, v110.Y);
            Vector2 v112 = new Vector2(v77.X - f * 8, v77.Y + f * 4);
            Vector2 v113 = new Vector2(v77.X - f * 6, v77.Y + f * 4);
            Vector2 v114 = new Vector2(v77.X - f * 8, v77.Y + f * 4);
            Vector2 v115 = new Vector2(v77.X - f * 1.8, v114.Y);
            Vector2 v116 = new Vector2(v115.X - f * 1.7, v110.Y);
            Vector2 v117 = new Vector2(v115.X, v110.Y);
            Vector2 v118 = new Vector2(v77.X - f * 3.5, v1.Y - f * 4.6);
            Vector2 v119 = new Vector2(v77.X - f * 3.5, v77.Y - f * 7.5);
            Vector2 v120 = new Vector2(v81.X + r1 + r / 2.2, v81.Y);
            Vector2 v121 = new Vector2(v80.X + r1 + r / 2.2, v80.Y);
            Vector2 v122 = new Vector2(v120.X + f, v120.Y - f * 2);
            Vector2 v123 = new Vector2(v121.X + f, v121.Y + f * 2);
            Vector2 v124 = new Vector2(v109.X, v109.Y - r);
            Vector2 v125 = new Vector2(v124.X + f, v124.Y - f);
            Vector2 v126 = new Vector2(v107.X, v107.Y + r);
            Vector2 v127 = new Vector2(v126.X + f, v126.Y + f);
            Vector2 v128 = new Vector2(v127.X + r1 + f * 2, v127.Y + f * 1.5);
            Vector2 v129 = new Vector2(v128.X + f * 3, v128.Y + f * 2.14);
            Vector2 v130 = new Vector2(v125.X + r1 + f * 2, v125.Y - f * 1.5);
            Vector2 v131 = new Vector2(v130.X + f * 3, v130.Y - f * 2.14);
            Vector2 v132 = new Vector2(v19.X + f * 2, v19.Y);
            Vector2 v133 = new Vector2(v132.X, v132.Y - f * 3);
            Vector2 v134 = new Vector2(v21.X - f * 2, v21.Y);
            Vector2 v135 = new Vector2(v134.X, v134.Y - f * 3);
            Vector2 v136 = new Vector2(v60.X + r1 * 5.8, v60.Y);
            Vector2 v137 = new Vector2(v136.X, v136.Y - r * 1.2);
            Vector2 v138 = new Vector2(v136.X, v136.Y + r * 1.2);
            Vector2 v139 = new Vector2(v137.X + f + f * 7 / 10, v137.Y - f);
            Vector2 v140 = new Vector2(v138.X + f + f * 7 / 10, v138.Y + f);
            Vector2 v141 = new Vector2(v140.X + r1 + f * 2, v140.Y + f + f / 1.6);
            Vector2 v142 = new Vector2(v139.X + r1 + f * 2, v139.Y - f - f / 1.6);
            Vector2 v143 = new Vector2(v141.X, v141.Y - f);
            Vector2 v144 = new Vector2(v143.X + f * 3, v143.Y);
            Vector2 v145 = new Vector2(v142.X, v142.Y + f);
            Vector2 v146 = new Vector2(v145.X + f * 3, v145.Y);
            Vector2 v147 = new Vector2(v144.X, v144.Y + f * 7);
            Vector2 v148 = new Vector2(v147.X + f * 4 / 5, v147.Y + f * 7 / 10);
            Vector2 v149 = new Vector2(v146.X, v146.Y - f * 7);
            Vector2 v150 = new Vector2(v149.X + f * 4 / 5, v149.Y - f * 7 / 10);
            Vector2 v151 = new Vector2(v148.X + r1 - f * 10, v148.Y);
            Vector2 v152 = new Vector2(v150.X + r1 - f * 10, v150.Y);
            Vector2 v153 = new Vector2(v151.X, v151.Y - f * 2);
            Vector2 v154 = new Vector2(v153.X + r, v153.Y);
            Vector2 v155 = new Vector2(v152.X, v152.Y + f * 2);
            Vector2 v156 = new Vector2(v155.X + r, v155.Y);
            Vector2 v157 = new Vector2(v156.X, v156.Y + f * 2);
            Vector2 v158 = new Vector2(v157.X + r / 2.8, v157.Y);
            Vector2 v159 = new Vector2(v157.X, v158.Y + r / 1.2);
            Vector2 v160 = new Vector2(v158.X, v159.Y);
            Vector2 v161 = new Vector2(v154.X, v154.Y - f * 2);
            Vector2 v162 = new Vector2(v161.X + r / 2.8, v161.Y);
            Vector2 v163 = new Vector2(v161.X, v162.Y - r / 1.2);
            Vector2 v164 = new Vector2(v162.X, v163.Y);
            Vector2 v165 = new Vector2(v161.X, v164.Y - f / 1.8);
            Vector2 v166 = new Vector2(v165.X + r1 / 1.5, v165.Y);
            Vector2 v167 = new Vector2(v157.X, v160.Y + f / 1.8);
            Vector2 v168 = new Vector2(v167.X + r1 / 1.5, v167.Y);
            Vector2 v169 = new Vector2(v168.X, v168.Y + f * 6);
            Vector2 v170 = new Vector2(v166.X, v166.Y - f * 6);
            Vector2 v171 = new Vector2(v169.X + f * 1.2, v169.Y);
            Vector2 v172 = new Vector2(v170.X + f * 1.2, v170.Y);
            Vector2 v173 = new Vector2(v171.X + r / 1.6, v171.Y);
            Vector2 v174 = new Vector2(v172.X + r / 1.6, v172.Y);
            Vector2 v175 = new Vector2(v173.X, v173.Y - f * 2);
            Vector2 v176 = new Vector2(v174.X, v174.Y + f * 2);
            Vector2 v177 = new Vector2(v175.X + r - f * 6, v175.Y);
            Vector2 v178 = new Vector2(v176.X + r - f * 6, v176.Y);
            Vector2 v179 = new Vector2(v177.X, v177.Y + f * 1.6);
            Vector2 v180 = new Vector2(v179.X - f * 4, v179.Y);
            Vector2 v181 = new Vector2(v178.X, v178.Y - f * 1.6);
            Vector2 v182 = new Vector2(v181.X - f * 4, v181.Y);
            Vector2 v183 = new Vector2(v182.X - f * 2.4, v182.Y - f * 4);
            Vector2 v184 = new Vector2(v180.X - f * 2.4, v180.Y + f * 4);
            Vector2 v185 = new Vector2(v181.X, v183.Y - f * 2);
            Vector2 v186 = new Vector2(v185.X - f * 4, v185.Y);
            Vector2 v187 = new Vector2(v179.X, v184.Y + f * 2);
            Vector2 v188 = new Vector2(v187.X - f * 4, v187.Y);
            Vector2 v189 = new Vector2(v139.X, v139.Y + f * 3);
            Vector2 v190 = new Vector2(v189.X + f * 4, v189.Y + f);
            Vector2 v191 = new Vector2(v140.X, v140.Y - f * 3);
            Vector2 v192 = new Vector2(v191.X + f * 4, v191.Y - f);
            Vector2 v193 = new Vector2(v192.X + f, v192.Y);
            Vector2 v194 = new Vector2(v190.X + f, v190.Y);
            Vector2 v195 = new Vector2(v193.X + f * 2, v193.Y);
            Vector2 v196 = new Vector2(v194.X + f * 2, v194.Y);
            Vector2 v197 = new Vector2(v195.X + r1 / 2 + f * 2, v195.Y);
            Vector2 v198 = new Vector2(v196.X + r1 / 2 + f * 2, v196.Y);
            Vector2 v199 = new Vector2(v136.X + f * 2, v136.Y + f * 2);
            Vector2 v200 = new Vector2(v199.X + r / 2.82, v199.Y);
            Vector2 v201 = new Vector2(v136.X + f * 2, v136.Y - f * 2);
            Vector2 v202 = new Vector2(v201.X + r / 2.82, v201.Y);
            Vector2 v203 = new Vector2(v201.X + r + r / 1.86, v1.Y);
            Vector2 v204 = new Vector2(v201.X + r + r / 1.86, v1.Y + f * 9);
            Vector2 v205 = new Vector2(v201.X + r + r / 1.86, v1.Y - f * 9);
            Vector2 v206 = new Vector2(v203.X + f * 3, v204.Y);
            Vector2 v207 = new Vector2(v206.X + r1 / 1.4, v204.Y);
            Vector2 v208 = new Vector2(v203.X + f * 3, v205.Y);
            Vector2 v209 = new Vector2(v208.X + r1 / 1.4, v205.Y);
            Vector2 v210 = new Vector2(v203.X + f * 3, v204.Y - f * 1.5);
            Vector2 v211 = new Vector2(v210.X + r1 / 1.2, v210.Y);
            Vector2 v212 = new Vector2(v203.X + f * 3, v205.Y + f * 1.5);
            Vector2 v213 = new Vector2(v212.X + r1 / 1.2, v212.Y);
            Vector2 v214 = new Vector2(v211.X + f * 5, v211.Y - f * 6);
            Vector2 v215 = new Vector2(v213.X + f * 5, v213.Y + f * 6);
            Vector2 v216 = new Vector2(v207.X, v207.Y + r + f * 3);
            Vector2 v217 = new Vector2(v207.X, v209.Y - r - f * 3);
            Vector2 v218 = new Vector2(v207.X + f * 2, v207.Y - f * 1.8);
            Vector2 v219 = new Vector2(v207.X + f * 2, v209.Y + f * 1.8);
            Vector2 v220 = new Vector2(v207.X + f * 2, v207.Y + r + f * 3);
            Vector2 v221 = new Vector2(v207.X + f * 2, v209.Y - r - f * 3);
            Vector2 v222 = new Vector2(v207.X, v207.Y - f * 1.8);
            Vector2 v223 = new Vector2(v207.X, v209.Y + f * 1.8);
            Vector2 v224 = new Vector2(v207.X, v1.Y);
            Vector2 v225 = new Vector2(v207.X + r1 * 5.8, v224.Y);
            Vector2 v226 = new Vector2(v225.X, v225.Y - r - r / 1.3);
            Vector2 v227 = new Vector2(v225.X, v225.Y + r + r / 1.3);
            Vector2 v228 = new Vector2(v226.X + r, v226.Y);
            Vector2 v229 = new Vector2(v227.X + r, v227.Y);
            Vector2 v230 = new Vector2(v229.X + f * 2, v229.Y + f);
            Vector2 v231 = new Vector2(v228.X + f * 2, v228.Y - f);
            Vector2 v232 = new Vector2(v226.X + r / 2, v226.Y);
            Vector2 v233 = new Vector2(v226.X + r / 2, v226.Y + (r + r / 1.3) / 2);
            Vector2 v234 = new Vector2(v227.X + r / 2, v227.Y);
            Vector2 v235 = new Vector2(v227.X + r / 2, v227.Y - (r + r / 1.3) / 2);
            Vector2 v236 = new Vector2(v230.X + r + f, v230.Y + f * 6);
            Vector2 v237 = new Vector2(v231.X + r + f, v231.Y - f * 6);
            Vector2 v238 = new Vector2(v236.X + f * 3, v236.Y + f / 3.8);
            Vector2 v239 = new Vector2(v237.X + f * 3, v237.Y - f / 3.8);
            Vector2 v240 = new Vector2(v238.X + f * 6, v238.Y - f * 2);
            Vector2 v241 = new Vector2(v237.X + f * 6, v237.Y);
            Vector2 v242 = new Vector2(v236.X + f * 5, v236.Y + f * 1.6);
            Vector2 v243 = new Vector2(v242.X + f * 1.6, v242.Y + f / 4.6);
            Vector2 v244 = new Vector2(v243.X + f, v243.Y);
            Vector2 v245 = new Vector2(v244.X - f * 2.6, v244.Y - f * 2.2);
            Vector2 v246 = new Vector2(v244.X + f * 0.5, v244.Y + f * 0.2);
            Vector2 v247 = new Vector2(v246.X + f * 1.5, v246.Y - f * 1.42);
            Vector2 v248 = new Vector2(v247.X + f * 0.3, v247.Y - f * 0.5);
            Vector2 v249 = new Vector2(v248.X - f * 0.9, v248.Y - f * 1.8);
            Vector2 v250 = new Vector2(v249.X, v249.Y - f);
            Vector2 v251 = new Vector2(v248.X, v248.Y - r1 * 2);
            Vector2 v252 = new Vector2(v250.X + f * 4 / 5, v250.Y - f - f / 5);
            Vector2 v253 = new Vector2(v238.X + f * 2 + (f * 2), v238.Y - (f * 2) + f / 1.5);
            Vector2 v254 = new Vector2(v238.X + f * 2 + (f * 2) * 1.5, v238.Y - (f * 2) + f / 3);
            Vector2 v255 = new Vector2(v254.X, v254.Y - r / 1.3);
            Vector2 v256 = new Vector2(v246.X - r + f / 2, v246.Y + r - f * 2);
            Vector2 v257 = new Vector2(v248.X, v248.Y + r + f * 6);
            Vector2 v258 = new Vector2(v255.X + f / 3, v255.Y);
            Vector2 v259 = new Vector2(v258.X + f + f / 2, v258.Y - f);
            Vector2 v260 = new Vector2(v255.X - f / 3, v255.Y);
            Vector2 v261 = new Vector2(v260.X + f / 5, v260.Y - f * 7 / 10);
            Vector2 v262 = new Vector2(v261.X + f * 2, v261.Y - f - f / 2);
            Vector2 v263 = new Vector2(v260.X - f * 2 - f * 3 / 5, v260.Y - f * 2 - f / 5);
            Vector2 v264 = new Vector2(v263.X - f / 5, v263.Y - f);
            Vector2 v265 = new Vector2(v264.X + f * 3, v264.Y - f * 2 - f * 7 / 10);
            Vector2 v266 = new Vector2(v265.X + f * 2, v265.Y + f * 2);
            Vector2 v267 = new Vector2(v260.X - f * 2 - f * 3 / 8, v260.Y - f * 2);
            Vector2 v268 = new Vector2(v267.X - f * 5, v267.Y + f * 1.8);
            Vector2 v269 = new Vector2(v268.X - f * 3.9, v268.Y - f * 3 - f);
            Vector2 v270 = new Vector2(v269.X + f * 3.6, v269.Y - r / 1.6);
            Vector2 v271 = new Vector2(v270.X + f * 6.6, v270.Y - f * 9);
            Vector2 v272 = new Vector2(v260.X, v260.Y - f * 3);
            Vector2 v273 = new Vector2(v272.X - f * 4.6, v272.Y - f * 5);
            Vector2 v274 = new Vector2(v266.X - f - f / 2, v266.Y - f * 2.6);
            Vector2 v275 = new Vector2(v274.X + f * 6 / 10, v274.Y - f * 3 / 5);
            Vector2 v276 = new Vector2(v275.X + f * 9 / 10, v275.Y + f + f * 6 / 10);
            Vector2 v277 = new Vector2(v265.X + f / 2, v265.Y - f * 1.5);
            Vector2 v278 = new Vector2(v277.X + f + f / 2, v277.Y - r + f * 2);
            Vector2 v279 = new Vector2(v277.X, v277.Y + f / 9);
            Vector2 v280 = new Vector2(v279.X + f * 1.5, v279.Y);
            Vector2 v281 = new Vector2(v279.X - f * 2.6, v279.Y);
            Vector2 v282 = new Vector2(v271.X + f * 1.5, v271.Y);
            Vector2 v283 = new Vector2(v282.X, v282.Y + f + f / 2);
            Vector2 v284 = new Vector2(v283.X - f / 2, v283.Y + f * 3 / 5);
            Vector2 v285 = new Vector2(v284.X + f / 5, v284.Y + f * 4 / 5);
            Vector2 v286 = new Vector2(v285.X + f * 2.07, v285.Y - f / 2);
            Vector2 v287 = new Vector2(v282.X, v282.Y - f * 3);
            Vector2 v288 = new Vector2(v287.X + f * 1.8, v287.Y);
            Vector2 v289 = new Vector2(v282.X, v282.Y - f * 2);
            Vector2 v290 = new Vector2(v289.X + f * 1.8, v289.Y);
            Vector2 v291 = new Vector2(v271.X, v271.Y - f * 8);
            Vector2 v292 = new Vector2(v271.X + f * 3.3, v291.Y);
            Vector2 v293 = new Vector2(v271.X + f * 1.2, v292.Y);
            Vector2 v294 = new Vector2(v293.X - f * 2, v293.Y - f * 2 - f * 2);
            Vector2 v295 = new Vector2(v293.X - f * 0.6, v293.Y - f * 2.5 - f * 1.5);
            Vector2 v296 = new Vector2(v295.X + f * 2.66, v295.Y);
            Vector2 v297 = new Vector2(v295.X + f * 2.66, v295.Y - f * 2);
            Vector2 v298 = new Vector2(v294.X + f * 4, v294.Y - r + f * 3);
            Vector2 v299 = new Vector2(v295.X - f * 1.4, v295.Y);
            Vector2 v300 = new Vector2(v294.X - f * 9.5, v294.Y + f * 4.7);
            Vector2 v301 = new Vector2(v300.X - f * 3, v300.Y - f * 3.4);
            Vector2 v302 = new Vector2(v301.X + f * 5.8, v301.Y - f * 11.8);
            Vector2 v303 = new Vector2(v302.X, v302.Y - f * 5.4);
            Vector2 v304 = new Vector2(v302.X + f * 6.75, v302.Y - f * 2.88);
            Vector2 v305 = new Vector2(v302.X + f * 2, v302.Y - f * 0.9);
            Vector2 v306 = new Vector2(v305.X, v305.Y - f * 4.9);
            Vector2 v307 = new Vector2(v304.X, v304.Y - f * 2.9);
            Vector2 v308 = new Vector2(v304.X + f * 2.46, v304.Y + f * 0.9);
            Vector2 v309 = new Vector2(v302.X, v300.Y - f * 1.3);
            Vector2 v310 = new Vector2(v302.X, v309.Y + r + f * 6);
            Vector2 v311 = new Vector2(v305.X, v310.Y - f * 3.68);
            Vector2 v312 = new Vector2(v311.X, v311.Y - r - f * 3.29);
            Vector2 v313 = new Vector2(v302.X, v309.Y + r + f * 6 + f * 10.78);
            Vector2 v314 = new Vector2(v302.X, v313.Y + f * 11.38);
            Vector2 v315 = new Vector2(v305.X, v310.Y + f * 10.2);
            Vector2 v316 = new Vector2(v315.X, v315.Y + f * 12.6);
            Vector2 v317 = new Vector2(v233.X + f * 10, v233.Y);
            Vector2 v318 = new Vector2(v317.X, v235.Y);
            Vector2 v319 = new Vector2(v317.X + f, v318.Y);
            Vector2 v320 = new Vector2(v317.X + f, v317.Y);
            Vector2 v321 = new Vector2(v319.X, v319.Y - f * 5);
            Vector2 v322 = new Vector2(v319.X + r + f * 4.5, v321.Y);
            Vector2 v323 = new Vector2(v320.X, v320.Y + f * 6);
            Vector2 v324 = new Vector2(v319.X + r + f * 4.5, v323.Y);
            Vector2 v325 = new Vector2(v322.X, v322.Y + f * 4.6);
            Vector2 v326 = new Vector2(v324.X, v324.Y - f * 3.6);
            Vector2 v327 = new Vector2(v324.X + f * 4.1, v324.Y - f * 3.6);
            Vector2 v328 = new Vector2(v1.X + r * 13, v1.Y - r * 13);
            Vector2 v329 = new Vector2(v328.X, v328.Y + r - r / 5);
            Vector2 v330 = new Vector2(v329.X, v328.Y - r + r / 5);
            Vector2 v331 = new Vector2(v329.X + r * 2 / 5, v328.Y + r);
            Vector2 v332 = new Vector2(v330.X + r * 2 / 5, v328.Y - r);
            Vector2 v333 = new Vector2(v329.X, v329.Y + r1 - r);
            Vector2 v334 = new Vector2(v330.X, v330.Y - r1 + r);
            Vector2 v335 = new Vector2(v329.X + r * 2.6 / 5, v329.Y);
            Vector2 v336 = new Vector2(v330.X + r * 2.6 / 5, v330.Y);
            Vector2 v337 = new Vector2(v335.X + f, v335.Y - f / 2 / Math.Tan(par));
            Vector2 v338 = new Vector2(v336.X + f, v336.Y + f / 2 / Math.Tan(par));
            Vector2 v339 = new Vector2(v333.X + f * 2 - f / 3, v333.Y + f / Math.Tan(par));
            Vector2 v340 = new Vector2(v334.X + f * 2, v334.Y - f / Math.Tan(par));
            Vector2 v341 = new Vector2(v339.X + r1, v339.Y + f * 2);
            Vector2 v342 = new Vector2(v340.X + r1, v340.Y - f * 2);
            Vector2 v343 = new Vector2(v341.X + f + f / 2, v341.Y);
            Vector2 v344 = new Vector2(v342.X + f + f / 2, v342.Y);
            Vector2 v345 = new Vector2(v343.X, v343.Y + f * 8.6);
            Vector2 v346 = new Vector2(v344.X, v344.Y - f * 8.6);
            Vector2 v347 = new Vector2(v345.X + r - f * 3, v345.Y);
            Vector2 v348 = new Vector2(v346.X + r - f * 3, v346.Y);
            Vector2 v349 = new Vector2(v348.X - f * 2, v328.Y + f * 4.6);
            Vector2 v350 = new Vector2(v348.X - f * 2, v328.Y);
            Vector2 v351 = new Vector2(v348.X - f * 2, v328.Y - f * 4.6);
            Vector2 v352 = new Vector2(v349.X + f * 6.4, v349.Y);
            Vector2 v353 = new Vector2(v351.X + f * 6.4, v351.Y);
            Vector2 v354 = new Vector2(v347.X + f, v347.Y - f * 2);
            Vector2 v355 = new Vector2(v347.X, v349.Y);
            Vector2 v356 = new Vector2(v354.X, v349.Y);
            Vector2 v357 = new Vector2(v347.X + f / 2, v347.Y - f);
            Vector2 v358 = new Vector2(v347.X + f / 2, v349.Y);
            Vector2 v359 = new Vector2(v354.X + f, v354.Y);
            Vector2 v360 = new Vector2(v359.X + f, v347.Y);
            Vector2 v361 = new Vector2(v360.X + f + f * 2 / 5, v360.Y);
            Vector2 v362 = new Vector2(v361.X, v349.Y);
            Vector2 v363 = new Vector2(v359.X, v349.Y);
            Vector2 v364 = new Vector2(v360.X, v349.Y);
            Vector2 v365 = new Vector2(v359.X + f / 2, v347.Y - f);
            Vector2 v366 = new Vector2(v365.X, v349.Y);
            Vector2 v367 = new Vector2(v328.X + f / 1.6, v328.Y + r - r / 5);
            Vector2 v368 = new Vector2(v367.X, v329.Y + r - r / 6);
            Vector2 v369 = new Vector2(v328.X, v368.Y + f + f / 5);
            Vector2 v370 = new Vector2(v368.X + r1 / 3, v368.Y);
            Vector2 v371 = new Vector2(v370.X + f * 1.6, v370.Y + f * 3);
            Vector2 v372 = new Vector2(v371.X + r1 / 2 + f * 2, v371.Y);
            Vector2 v373 = new Vector2(v372.X + f * 4, v368.Y);
            Vector2 v374 = new Vector2(v373.X + f * 6.2, v373.Y);
            Vector2 v375 = new Vector2(v374.X + f, v374.Y - f);
            Vector2 v376 = new Vector2(v367.X, v328.Y - r + r / 5); 
            Vector2 v377 = new Vector2(v376.X, v376.Y - r + r / 6);
            Vector2 v378 = new Vector2(v328.X, v377.Y - f + f / 5);
            Vector2 v379 = new Vector2(v377.X + r1 / 3, v377.Y);
            Vector2 v380 = new Vector2(v379.X + f * 1.6, v379.Y - f * 3);
            Vector2 v381 = new Vector2(v380.X + r1 / 2 + f * 2, v380.Y);
            Vector2 v382 = new Vector2(v381.X + f * 4, v377.Y);
            Vector2 v383 = new Vector2(v382.X + f * 6.2, v382.Y);
            Vector2 v384 = new Vector2(v383.X + f, v383.Y + f);
            Vector2 v385 = new Vector2(v380.X + r, v328.Y);                                             
            Vector2 v386 = new Vector2(v348.X + f, v348.Y + f * 2);//67
            Vector2 v387 = new Vector2(v348.X, v351.Y);
            Vector2 v388 = new Vector2(v386.X, v351.Y);
            Vector2 v389 = new Vector2(v386.X + f, v386.Y);
            Vector2 v390 = new Vector2(v389.X + f, v348.Y);
            Vector2 v391 = new Vector2(v390.X + f + f * 1 / 8, v390.Y);
            Vector2 v392 = new Vector2(v390.X, v351.Y);
            Vector2 v393 = new Vector2(v389.X, v351.Y);
            Vector2 v394 = new Vector2(v391.X, v351.Y);
            Vector2 v395 = new Vector2(v391.X, v391.Y + r1 / 3 - f * 3);
            Vector2 v396 = new Vector2(v395.X + f + f * 4 / 5, v395.Y + f + f * 4 / 5);
            Vector2 v397 = new Vector2(v361.X, v361.Y - r1 / 3 + f * 3);
            Vector2 v398 = new Vector2(v397.X + f + f * 4 / 5, v397.Y - f - f * 4 / 5);
            Vector2 v399 = new Vector2(v396.X + r1 - r1 / 8, v396.Y);
            Vector2 v400 = new Vector2(v385.X + r * 1.7, v385.Y + f * 2.8);
            Vector2 v401 = new Vector2(v399.X, v400.Y);
            Vector2 v402 = new Vector2(v385.X + r * 1.7, v385.Y - f * 2.8);
            Vector2 v403 = new Vector2(v399.X, v402.Y);
            Vector2 v404 = new Vector2(v396.X - f * 6, v396.Y + f / 1.6);
            Vector2 v405 = new Vector2(v404.X - f * 6, v404.Y);
            Vector2 v406 = new Vector2(v396.X - f * 8, v396.Y + f * 4);
            Vector2 v407 = new Vector2(v396.X - f * 6, v396.Y + f * 4);
            Vector2 v408 = new Vector2(v396.X - f * 8, v396.Y + f * 4);
            Vector2 v409 = new Vector2(v396.X - f * 1.8, v407.Y);
            Vector2 v410 = new Vector2(v409.X - f * 1.7, v404.Y);
            Vector2 v411 = new Vector2(v409.X, v404.Y);
            Vector2 v412 = new Vector2(v396.X - f * 3.5, v328.Y - f * 4.6);
            Vector2 v413 = new Vector2(v396.X - f * 3.5, v396.Y - f * 7.5);
            Vector2 v414 = new Vector2(v398.X + r1 - r1 / 8, v398.Y);
            Vector2 v415 = new Vector2(v414.X + r1 + r / 2.2, v414.Y);
            Vector2 v416 = new Vector2(v399.X + r1 + r / 2.2, v399.Y);
            Vector2 v417 = new Vector2(v415.X + f, v415.Y - f * 2);
            Vector2 v418 = new Vector2(v416.X + f, v416.Y + f * 2);
            Vector2 v419 = new Vector2(v403.X, v403.Y - r);
            Vector2 v420 = new Vector2(v419.X + f, v419.Y - f);
            Vector2 v421 = new Vector2(v401.X, v401.Y + r);
            Vector2 v422 = new Vector2(v421.X + f, v421.Y + f);
            Vector2 v423 = new Vector2(v422.X + r1 + f * 2, v422.Y + f * 1.5);
            Vector2 v424 = new Vector2(v423.X + f * 3, v423.Y + f * 2.14);
            Vector2 v425 = new Vector2(v420.X + r1 + f * 2, v420.Y - f * 1.5);
            Vector2 v426 = new Vector2(v425.X + f * 3, v425.Y - f * 2.14);
            Vector2 v427 = new Vector2(v385.X + r1 * 1.715, v385.Y);
            Vector2 v428 = new Vector2(v427.X, v427.Y - r * 1.2);
            Vector2 v429 = new Vector2(v427.X, v427.Y + r * 1.2);
            Vector2 v430 = new Vector2(v428.X + f + f * 7 / 10, v428.Y - f);
            Vector2 v431 = new Vector2(v429.X + f + f * 7 / 10, v429.Y + f);
            Vector2 v432 = new Vector2(v431.X + r1 + f * 2, v431.Y + f + f / 1.6);//141
            Vector2 v433 = new Vector2(v430.X + r1 + f * 2, v430.Y - f - f / 1.6);
            Vector2 v434 = new Vector2(v432.X, v432.Y - f);
            Vector2 v435 = new Vector2(v434.X + f * 3, v434.Y);
            Vector2 v456 = new Vector2(v433.X, v433.Y + f);
            Vector2 v457 = new Vector2(v456.X + f * 3, v456.Y);
            Vector2 v458 = new Vector2(v435.X, v435.Y + f * 12.4);
            Vector2 v459 = new Vector2(v458.X + f * 4 / 5, v458.Y + f * 7 / 10);
            Vector2 v460 = new Vector2(v457.X, v457.Y - f * 12.4);
            Vector2 v461 = new Vector2(v460.X + f * 4 / 5, v460.Y - f * 7 / 10);
            Vector2 v462 = new Vector2(v459.X + r1 - f * 10, v459.Y);
            Vector2 v463 = new Vector2(v461.X + r1 - f * 10, v461.Y);
            Vector2 v464 = new Vector2(v462.X, v462.Y - f * 2);
            Vector2 v465 = new Vector2(v464.X + r, v464.Y);
            Vector2 v466 = new Vector2(v463.X, v463.Y + f * 2);
            Vector2 v467 = new Vector2(v466.X + r, v466.Y);
            Vector2 v468 = new Vector2(v467.X, v467.Y + f * 2);
            Vector2 v469 = new Vector2(v468.X + r / 2.8, v468.Y);
            Vector2 v470 = new Vector2(v468.X, v469.Y + r / 1.2);
            Vector2 v471 = new Vector2(v469.X, v470.Y);
            Vector2 v472 = new Vector2(v465.X, v465.Y - f * 2);
            Vector2 v473 = new Vector2(v472.X + r / 2.8, v472.Y);
            Vector2 v474 = new Vector2(v472.X, v473.Y - r / 1.2);
            Vector2 v475 = new Vector2(v473.X, v474.Y);
            Vector2 v476 = new Vector2(v472.X, v475.Y - f / 1.8);
            Vector2 v477 = new Vector2(v476.X + r1 / 1.5, v476.Y);
            Vector2 v478 = new Vector2(v468.X, v471.Y + f / 1.8);
            Vector2 v479 = new Vector2(v478.X + r1 / 1.5, v478.Y);
            Vector2 v480 = new Vector2(v479.X, v479.Y + f * 6);
            Vector2 v481 = new Vector2(v477.X, v477.Y - f * 6);
            Vector2 v482 = new Vector2(v480.X + f * 1.2, v480.Y);
            Vector2 v483 = new Vector2(v481.X + f * 1.2, v481.Y);
            Vector2 v484 = new Vector2(v482.X + r / 1.6, v482.Y);
            Vector2 v485 = new Vector2(v483.X + r / 1.6, v483.Y);
            Vector2 v486 = new Vector2(v430.X, v430.Y + f * 3);     
            Vector2 v487 = new Vector2(v486.X + f * 4, v486.Y + f);
            Vector2 v488 = new Vector2(v431.X, v431.Y - f * 3);
            Vector2 v489 = new Vector2(v488.X + f * 4, v488.Y - f);
            Vector2 v490 = new Vector2(v489.X + f, v489.Y);
            Vector2 v491 = new Vector2(v487.X + f, v487.Y);
            Vector2 v492 = new Vector2(v490.X + f * 2, v490.Y);
            Vector2 v493 = new Vector2(v491.X + f * 2, v491.Y);
            Vector2 v494 = new Vector2(v492.X + r1 / 2 + f * 2, v492.Y);
            Vector2 v495 = new Vector2(v493.X + r1 / 2 + f * 2, v493.Y);
            Vector2 v496 = new Vector2(v427.X + f * 2, v427.Y + f * 2);
            Vector2 v497 = new Vector2(v496.X + r / 2.82, v496.Y);
            Vector2 v498 = new Vector2(v427.X + f * 2, v427.Y - f * 2);
            Vector2 v499 = new Vector2(v498.X + r / 2.82, v498.Y);
            Vector2 v500 = new Vector2(v498.X + r + r / 1.86, v427.Y);
            Vector2 v501 = new Vector2(v498.X + r + r / 1.86, v427.Y + f * 9);
            Vector2 v502 = new Vector2(v498.X + r + r / 1.86, v427.Y - f * 9);
            Vector2 v503 = new Vector2(v500.X + f * 3, v501.Y);//
            Vector2 v504 = new Vector2(v503.X + r1 / 1.4, v501.Y);
            Vector2 v505 = new Vector2(v500.X + f * 3, v502.Y);
            Vector2 v506 = new Vector2(v505.X + r1 / 1.4, v502.Y);
            Vector2 v507 = new Vector2(v500.X + f * 3, v501.Y - f * 1.5);
            Vector2 v508 = new Vector2(v507.X + r1 / 1.2, v507.Y);
            Vector2 v509 = new Vector2(v500.X + f * 3, v502.Y + f * 1.5);
            Vector2 v510 = new Vector2(v509.X + r1 / 1.2, v509.Y);
            Vector2 v511 = new Vector2(v508.X + f * 5, v508.Y - f * 6);
            Vector2 v512 = new Vector2(v510.X + f * 5, v510.Y + f * 6);
            Vector2 v513 = new Vector2(v504.X, v504.Y + r + f * 8.3);
            Vector2 v514 = new Vector2(v504.X, v506.Y - r - f * 8.3);
            Vector2 v515 = new Vector2(v504.X + f * 2, v504.Y - f * 1.5);
            Vector2 v516 = new Vector2(v504.X + f * 2, v506.Y + f * 1.5);
            Vector2 v517 = new Vector2(v504.X + f * 2, v504.Y + r + f * 8.3);
            Vector2 v518 = new Vector2(v504.X + f * 2, v506.Y - r - f * 8.3);
            Vector2 v519 = new Vector2(v504.X, v504.Y - f * 1.5);//
            Vector2 v520 = new Vector2(v504.X, v506.Y + f * 1.5);
            Vector2 v521 = new Vector2(v504.X, v328.Y);
            Vector2 v522 = new Vector2(v504.X + r1 - f * 6, v521.Y);//
            Vector2 v523 = new Vector2(v522.X, v522.Y - r - r);
            Vector2 v524 = new Vector2(v522.X, v522.Y + r + r);
            Vector2 v525 = new Vector2(v523.X + r + f * 3, v523.Y);
            Vector2 v526 = new Vector2(v524.X + r + f * 3, v524.Y);
            Vector2 v527 = new Vector2(v526.X + f * 2, v526.Y + f);
            Vector2 v528 = new Vector2(v525.X + f * 2, v525.Y - f);
            Vector2 v529 = new Vector2(v523.X + r / 2.96, v523.Y);
            Vector2 v530 = new Vector2(v523.X + r / 2.96, v523.Y + (r + r / 1.3) / 2);
            Vector2 v531 = new Vector2(v524.X + r / 2.96, v524.Y);
            Vector2 v532 = new Vector2(v524.X + r / 2.96, v524.Y - (r + r / 1.3) / 2);
            Vector2 v533 = new Vector2(v527.X + r + f, v527.Y + f * 6);
            Vector2 v534 = new Vector2(v528.X + r + f, v528.Y - f * 6);
            Vector2 v535 = new Vector2(v533.X + f * 3, v533.Y + f / 3.8);
            Vector2 v536 = new Vector2(v524.X + f * 3, v524.Y - f / 3.8);
            Vector2 v537 = new Vector2(v535.X + f * 6, v535.Y - f * 2);
            Vector2 v538 = new Vector2(v534.X + f * 6, v534.Y);
            Vector2 v539 = new Vector2(v533.X + f * 5, v533.Y + f * 1.6);
            Vector2 v540 = new Vector2(v539.X + f * 1.6, v539.Y + f / 4.6);
            Vector2 v541 = new Vector2(v540.X + f, v540.Y);
            Vector2 v542 = new Vector2(v541.X - f * 2.6, v541.Y - f * 2.2);
            Vector2 v543 = new Vector2(v541.X + f * 0.5, v541.Y + f * 0.2);
            Vector2 v544 = new Vector2(v543.X + f * 1.5, v543.Y - f * 1.42);
            Vector2 v545 = new Vector2(v544.X + f * 0.3, v544.Y - f * 0.5);
            Vector2 v546 = new Vector2(v545.X - f * 0.9, v545.Y - f * 1.8);
            Vector2 v547 = new Vector2(v546.X, v546.Y - f);
            Vector2 v548 = new Vector2(v545.X, v545.Y - r1 * 2.02);
            Vector2 v549 = new Vector2(v547.X + f * 4 / 5, v547.Y - f - f / 5);//252
            Vector2 v550 = new Vector2(v535.X + f * 2 + (f * 2), v535.Y - (f * 2) + f / 1.5);
            Vector2 v551 = new Vector2(v535.X + f * 2 + (f * 2) * 1.5, v535.Y - (f * 2) + f / 3);
            Vector2 v552 = new Vector2(v551.X, v551.Y - r / 1.3);
            Vector2 v553 = new Vector2(v543.X - r + f / 2, v543.Y + r - f * 2);
            Vector2 v554 = new Vector2(v545.X, v545.Y + r + f * 6);
            Vector2 v555 = new Vector2(v552.X + f / 3, v552.Y);
            Vector2 v556 = new Vector2(v555.X + f + f / 2, v555.Y - f);
            Vector2 v557 = new Vector2(v552.X - f / 3, v552.Y);
            Vector2 v558 = new Vector2(v557.X + f / 5, v557.Y - f * 7 / 10);
            Vector2 v559 = new Vector2(v558.X + f * 2, v558.Y - f - f / 2);
            Vector2 v560 = new Vector2(v557.X - f * 2 - f * 3 / 5, v557.Y - f * 2 - f / 5);
            Vector2 v561 = new Vector2(v560.X - f / 5, v560.Y - f);
            Vector2 v562 = new Vector2(v561.X + f * 3, v561.Y - f * 2 - f * 7 / 10);
            Vector2 v563 = new Vector2(v562.X + f * 2, v562.Y + f * 2);
            Vector2 v564 = new Vector2(v557.X - f * 2 - f * 3 / 8, v557.Y - f * 2);
            Vector2 v565 = new Vector2(v564.X - f * 5, v564.Y + f * 1.8);
            Vector2 v566 = new Vector2(v565.X - f * 3.9, v565.Y - f * 3 - f);
            Vector2 v567 = new Vector2(v566.X + f * 3.6, v566.Y - r / 1.6);
            Vector2 v568 = new Vector2(v567.X + f * 6.6, v567.Y - f * 9);
            Vector2 v569 = new Vector2(v557.X, v557.Y - f * 3);
            Vector2 v570 = new Vector2(v569.X - f * 4.6, v569.Y - f * 5);
            Vector2 v571 = new Vector2(v563.X - f - f / 2, v563.Y - f * 2.6);
            Vector2 v572 = new Vector2(v571.X + f * 6 / 10, v571.Y - f * 3 / 5);
            Vector2 v573 = new Vector2(v572.X + f * 9 / 10, v572.Y + f + f * 6 / 10);
            Vector2 v574 = new Vector2(v562.X + f / 2, v562.Y - f * 1.5);
            Vector2 v575 = new Vector2(v574.X + f + f / 2, v574.Y - r + f * 2);
            Vector2 v576 = new Vector2(v574.X, v574.Y + f / 9);
            Vector2 v577 = new Vector2(v576.X + f * 1.5, v576.Y);
            Vector2 v578 = new Vector2(v576.X - f * 2.6, v576.Y);
            Vector2 v579 = new Vector2(v568.X + f * 1.5, v568.Y);
            Vector2 v580 = new Vector2(v579.X, v579.Y + f + f / 2);
            Vector2 v581 = new Vector2(v580.X - f / 2, v580.Y + f * 3 / 5);
            Vector2 v582 = new Vector2(v581.X + f / 5, v581.Y + f * 4 / 5);
            Vector2 v583 = new Vector2(v582.X + f * 2.07, v582.Y - f / 2);
            Vector2 v584 = new Vector2(v579.X, v579.Y - f * 3);
            Vector2 v585 = new Vector2(v584.X + f * 1.8, v584.Y);
            Vector2 v586 = new Vector2(v579.X, v579.Y - f * 2);
            Vector2 v587 = new Vector2(v586.X + f * 1.8, v586.Y);
            Vector2 v588 = new Vector2(v568.X, v568.Y - f * 8);
            Vector2 v589 = new Vector2(v568.X + f * 3.3, v588.Y);
            Vector2 v590 = new Vector2(v568.X + f * 1.2, v589.Y);
            Vector2 v591 = new Vector2(v590.X - f * 2, v590.Y - f * 2 - f * 2);
            Vector2 v592 = new Vector2(v590.X - f * 0.6, v590.Y - f * 2.5 - f * 1.5);
            Vector2 v593 = new Vector2(v592.X + f * 2.66, v592.Y);
            Vector2 v594 = new Vector2(v592.X + f * 2.66, v592.Y - f * 2);
            Vector2 v595 = new Vector2(v591.X + f * 4, v591.Y - r + f * 3);
            Vector2 v596 = new Vector2(v592.X - f * 1.4, v592.Y);
            Vector2 v597 = new Vector2(v591.X - f * 9.5, v591.Y + f * 4.7);
            Vector2 v598 = new Vector2(v597.X - f * 3, v597.Y - f * 3.4);
            Vector2 v599 = new Vector2(v598.X + f * 5.8, v598.Y - f * 11.8);
            Vector2 v600 = new Vector2(v599.X, v599.Y - f * 11.7);
            Vector2 v601 = new Vector2(v599.X + f * 6.75, v599.Y - f * 2.88);
            Vector2 v602 = new Vector2(v599.X + f * 2, v599.Y - f * 0.9);
            Vector2 v603 = new Vector2(v602.X, v602.Y - f * 11.18);
            Vector2 v604 = new Vector2(v601.X, v601.Y - f * 9.12);
            Vector2 v605 = new Vector2(v601.X + f * 2.3, v601.Y + f * 0.9);
            Vector2 v606 = new Vector2(v599.X, v597.Y - f * 1.3);
            Vector2 v607 = new Vector2(v599.X, v606.Y + r + f * 6.06);
            Vector2 v608 = new Vector2(v602.X, v607.Y - f * 3.5);
            Vector2 v609 = new Vector2(v602.X, v608.Y - r - f * 3.52);
            Vector2 v610 = new Vector2(v599.X, v606.Y + r + f * 6 + f * 10.78);
            Vector2 v611 = new Vector2(v599.X, v610.Y + f * 11.36);
            Vector2 v612 = new Vector2(v602.X, v607.Y + f * 10.2);
            Vector2 v613 = new Vector2(v612.X, v612.Y + f * 12.6);
            Vector2 v614 = new Vector2(v548.X, v548.Y - f * 2);
            Vector2 v615 = new Vector2(v530.X + f * 15.3, v530.Y);
            Vector2 v616 = new Vector2(v615.X, v532.Y);
            Vector2 v617 = new Vector2(v615.X + f, v616.Y);
            Vector2 v618 = new Vector2(v615.X + f, v615.Y);
            Vector2 v619 = new Vector2(v617.X, v617.Y - f * 5);
            Vector2 v620 = new Vector2(v617.X + r + f * 4.5, v619.Y);
            Vector2 v621 = new Vector2(v618.X, v618.Y + f * 10.8);
            Vector2 v622 = new Vector2(v617.X + r + f * 4.5, v621.Y);
            Vector2 v623 = new Vector2(v620.X, v620.Y + f * 4.6);
            Vector2 v624 = new Vector2(v622.X, v622.Y - f * 2.6);
            Vector2 v625 = new Vector2(v622.X + f * 4.1, v622.Y - f * 2.6);
            Vector2 v626 = new Vector2(v548.X, v548.Y - f * 3);
            Vector2 v627 = new Vector2(v538.X - f * 8, v538.Y - f * 12);
            // 线段
            //主视图
            Vector2[] Line1 = { v2, v4 };
            fun.drawBLine(dxf, Line1, 0.5, contour);
            Vector2[] Line2 = { v3, v5 };
            fun.drawBLine(dxf, Line2, 0.5, contour);
            Vector2[] Line3 = { v4, v5 };
            fun.drawBLine(dxf, Line3, 0.5, contour);
            Vector2[] Line4 = { v2, v6 };
            fun.drawBLine(dxf, Line4, 0.5, contour);
            Vector2[] Line5 = { v3, v7 };
            fun.drawBLine(dxf, Line5, 0.5, contour);
            Vector2[] Line6 = { v2, v8 };
            fun.drawBLine(dxf, Line6, 0.5, skdimensioning);
            Vector2[] Line7 = { v3, v9 };
            fun.drawBLine(dxf, Line7, 0.5, skdimensioning);
            LwPolyline Arc1 = new LwPolyline();
            Arc1.Vertexes.Add(new LwPolylineVertex(v8));
            Arc1.Vertexes.Add(new LwPolylineVertex(v10));
            Arc1.Vertexes[0].Bulge = -f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc1, 0.5, skdimensioning);
            LwPolyline Arc2 = new LwPolyline();
            Arc2.Vertexes.Add(new LwPolylineVertex(v9));
            Arc2.Vertexes.Add(new LwPolylineVertex(v11));
            Arc2.Vertexes[0].Bulge = f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc2, 0.5, skdimensioning);
            Vector2[] Line8 = { v10, v11 };
            fun.drawBLine(dxf, Line8, 0.5, skdimensioning);
            LwPolyline Arc3 = new LwPolyline();
            Arc3.Vertexes.Add(new LwPolylineVertex(v6));
            Arc3.Vertexes.Add(new LwPolylineVertex(v12));
            Arc3.Vertexes[0].Bulge = -f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc3, 0.5, contour);
            LwPolyline Arc4 = new LwPolyline();
            Arc4.Vertexes.Add(new LwPolylineVertex(v7));
            Arc4.Vertexes.Add(new LwPolylineVertex(v13));
            Arc4.Vertexes[0].Bulge = f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc4, 0.08, contour);
            Vector2[] Line9 = { v15, v12 };
            fun.drawBLine(dxf, Line9, 0.08, contour);
            Vector2[] Line10 = { v13, v16 };
            fun.drawBLine(dxf, Line10, 0.08, contour);
            Vector2[] Line11 = { v15, v16 };
            fun.drawBLine(dxf, Line11, 0.08, contour);
            Vector2[] Line12 = { v15, v17 };
            fun.drawBLine(dxf, Line12, 0.1, contour);
            Vector2[] Line13 = { v16, v18 };
            fun.drawBLine(dxf, Line13, 0.1, contour);
            Vector2[] Line14 = { v17, v18 };
            fun.drawBLine(dxf, Line14, 0.1, contour);
            Vector2[] Line15 = { v17, v19 };
            fun.drawBLine(dxf, Line15, 0.1, contour);
            Vector2[] Line16 = { v18, v20 };
            fun.drawBLine(dxf, Line16, 0.1, contour);
            Vector2[] Line17 = { v19, v21 };
            fun.drawBLine(dxf, Line17, 0.1, contour);
            Vector2[] Line18 = { v20, v22 };
            fun.drawBLine(dxf, Line18, 0.1, contour);
            fun.drawPlinetype(dxf, new Vector2[] { new Vector2(v1.X - f * 5, v1.Y), new Vector2(v1.X + r1 * 2 + r + r1 + r1 + r, v1.Y) }, 0.25, centre, Linetype.Center);
            //
            Vector2[] Line19 = { v23, v24 };
            fun.drawBLine(dxf, Line19, 0.05, refin);
            Vector2[] Line20 = { v25, v24 };
            fun.drawBLine(dxf, Line20, 0.05, refin);
            Vector2[] Line21 = { v26, v23 };
            fun.drawBLine(dxf, Line21, 0.05, refin);
            Vector2[] Line22 = { v25, v27 };
            fun.drawBLine(dxf, Line22, 0.05, refin);
            Vector2[] Line23 = { v26, v27 };
            fun.drawBLine(dxf, Line23, 0.05, refin);
            LwPolyline Arc5 = new LwPolyline();
            Arc5.Vertexes.Add(new LwPolylineVertex(v23));
            Arc5.Vertexes.Add(new LwPolylineVertex(v25));
            Arc5.Vertexes[0].Bulge = f * Math.Tan(par / 1.2) / Math.Sin(par);
            fun.PolyFill(dxf, Arc5, 0.05, refin);
            //
            Vector2[] Line24 = { v28, v21 };
            fun.drawBLine(dxf, Line24, 0.1, contour);
            Vector2[] Line25 = { v29, v21 };
            fun.drawBLine(dxf, Line25, 0.1, contour);
            Vector2[] Line26 = { v30, v28 };
            fun.drawBLine(dxf, Line26, 0.1, contour);
            Vector2[] Line27 = { v31, v32 };
            fun.drawBLine(dxf, Line27, 0.1, contour);
            //
            Vector2[] Line28 = { v28, v34 };
            fun.drawBLine(dxf, Line28, 0.05, contour);
            Vector2[] Line29 = { v35, v34 };
            fun.drawBLine(dxf, Line29, 0.05, contour);
            Vector2[] Line30 = { v35, v36 };
            fun.drawBLine(dxf, Line30, 0.1, contour);
            Vector2[] Line31 = { v37, v36 };
            fun.drawBLine(dxf, Line31, 0.1, contour);
            Vector2[] Line32 = { v38, v34 };
            fun.drawBLine(dxf, Line32, 0.1, contour);
            Vector2[] Line33 = { v39, v35 };
            fun.drawBLine(dxf, Line33, 0.1, contour);
            Vector2[] Line34 = { v40, v41 };
            fun.drawBLine(dxf, Line34, 0.1, contour);
            //
            Vector2[] Line35 = { v43, v42 };
            fun.drawPlinetype(dxf, Line35, 0.25, refin, Linetype.Dashed);
            Vector2[] Line36 = { v43, v44 };
            fun.drawPlinetype(dxf, Line36, 0.25, refin, Linetype.Dashed);
            Vector2[] Line37 = { v43, v45 };
            fun.drawPlinetype(dxf, Line37, 0.25, refin, Linetype.Dashed);
            Vector2[] Line38 = { v46, v45 };
            fun.drawPlinetype(dxf, Line38, 0.25, refin, Linetype.Dashed);
            Vector2[] Line39 = { v46, v47 };
            fun.drawPlinetype(dxf, Line39, 0.25, refin, Linetype.Dashed);
            Vector2[] Line40 = { v48, v47 };
            fun.drawPlinetype(dxf, Line40, 0.25, refin, Linetype.Dashed);
            Vector2[] Line41 = { v48, v49 };
            fun.drawPlinetype(dxf, Line41,0.25, refin, Linetype.Dashed);
            LwPolyline Arc6 = new LwPolyline();
            Arc6.Vertexes.Add(new LwPolylineVertex(v49));
            Arc6.Vertexes.Add(new LwPolylineVertex(v50));
            Arc6.Vertexes[0].Bulge = -f / 1.2 * Math.Tan(par / 2) / Math.Sin(par);
            fun.PolyFill(dxf, Arc6, 0.05, refin);
            //
            Vector2[] Line42 = { v51, v52 };
            fun.drawPlinetype(dxf, Line42, 0.25,refin, Linetype.Dashed);
            Vector2[] Line43 = { v53, v52 };
            fun.drawPlinetype(dxf, Line43, 0.25,refin, Linetype.Dashed);
            Vector2[] Line44 = { v54, v52 };
            fun.drawPlinetype(dxf, Line44, 0.25,refin, Linetype.Dashed);
            Vector2[] Line45 = { v54, v55 };
            fun.drawPlinetype(dxf, Line45, 0.25,refin, Linetype.Dashed);
            Vector2[] Line46 = { v56, v55 };
            fun.drawPlinetype(dxf, Line46, 0.25,refin, Linetype.Dashed);
            Vector2[] Line47 = { v56, v57 };
            fun.drawPlinetype(dxf, Line47, 0.25,refin, Linetype.Dashed);
            Vector2[] Line48 = { v58, v57 };
            fun.drawPlinetype(dxf, Line48, 0.25,refin, Linetype.Dashed);
            LwPolyline Arc7 = new LwPolyline();
            Arc7.Vertexes.Add(new LwPolylineVertex(v58));
            Arc7.Vertexes.Add(new LwPolylineVertex(v59));
            Arc7.Vertexes[0].Bulge = f / 1.2 * Math.Tan(par / 2) / Math.Sin(par);
            fun.PolyFill(dxf, Arc7, 0.05, refin);
            Vector2[] Line49 = { v59, v50 };
            fun.drawPlinetype(dxf, Line49, 0.25,refin, Linetype.Dashed);
            Vector2[] Line50 = { v45, v54 };
            fun.drawPlinetype(dxf, Line50, 0.25,refin, Linetype.Dashed);
            Vector2[] Line51 = { v46, v55 };
            fun.drawPlinetype(dxf, Line51,0.25, refin, Linetype.Dashed);
            LwPolyline poly = new LwPolyline();
            poly.Vertexes.Add(new LwPolylineVertex(fun.Polar(v60, 0, f * 2.8)));
            poly.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly.Vertexes.Add(new LwPolylineVertex(fun.Polar(v60, Math.PI, f * 2.8)));
            poly.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly.Vertexes.Add(new LwPolylineVertex(fun.Polar(v60, 0, f * 2.8)));
            fun.PolyFill(dxf, poly, 0.05, contour);
            //Vector2[] Line52 = { v62, v61 };
            //fun.drawPlinetype(dxf, Line52, refin, Linetype.Dashed);
            //Vector2[] Line53 = { v63, v64 };
            //fun.drawPlinetype(dxf, Line53, refin, Linetype.Dashed);
            //Vector2[] Line54 = { v63, v65 };
            //fun.drawBLine(dxf, Line54, 0.02, refin);
            //Vector2[] Line55 = { v61, v66 };
            //fun.drawBLine(dxf, Line55, 0.02, refin);
            Vector2[] Line56 = { v22, v67 };
            fun.drawBLine(dxf, Line56, 0.08, contour);
            Vector2[] Line57 = { v22, v68 };
            fun.drawBLine(dxf, Line57, 0.08, contour);
            Vector2[] Line58 = { v67, v69 };
            fun.drawBLine(dxf, Line58, 0.08, contour);
            Vector2[] Line59 = { v70, v67 };
            fun.drawBLine(dxf, Line59, 0.08, contour);
            Vector2[] Line60 = { v70, v71 };
            fun.drawBLine(dxf, Line60, 0.08, contour);
            Vector2[] Line61 = { v72, v71 };
            fun.drawBLine(dxf, Line61, 0.08, contour);
            //Vector2[] Line62 = { v73, v71 };
            //fun.drawBLine(dxf, Line62, 0.08, contour);
            Vector2[] Line63 = { v74, v70 };
            fun.drawBLine(dxf, Line63, 0.08, contour);
            Vector2[] Line64 = { v72, v75 };
            fun.drawBLine(dxf, Line64, 0.08, contour);
            Vector2[] Line65 = { v76, v77 };
            fun.drawBLine(dxf, Line65, 0.08, contour);
            Vector2[] Line66 = { v79, v78 };
            fun.drawBLine(dxf, Line66, 0.08, contour);
            Vector2[] Line67 = { v79, v77 };
            fun.drawBLine(dxf, Line67, 0.08, contour);
            Vector2[] Line68 = { v80, v77 };
            fun.drawBLine(dxf, Line68, 0.08, contour);
            //
            Vector2[] Line69 = { v81, v79 };
            fun.drawBLine(dxf, Line69, 0.08, contour);
            //
            //Vector2[] Line70 = { v80, v81 };
            //fun.drawBLine(dxf, Line70, 0.08, contour);
            //Vector2[] Line71 = { v80, v82 };
            //fun.drawBLine(dxf, Line71, 0.08, contour);
            //Vector2[] Line72 = { v81, v83 };
            //fun.drawBLine(dxf, Line72, 0.08, contour);
            //Vector2[] Line73 = { v82, v84 };
            //fun.drawBLine(dxf, Line73, 0.08, contour);
            //Vector2[] Line74 = { v83, v85 };
            //fun.drawBLine(dxf, Line74, 0.08, contour);
            //Vector2[] Line75 = { v84, v85 };
            //fun.drawBLine(dxf, Line75, 0.08, contour);
            //Vector2[] Line76 = { v86, v92 };
            //fun.drawBLine(dxf, Line76, 0.08, contour);
            //Vector2[] Line77 = { v86, v87 };
            //fun.drawBLine(dxf, Line77, 0.08, contour);
            //Vector2[] Line78 = { v88, v87 };
            //fun.drawBLine(dxf, Line78, 0.08, contour);
            //Vector2[] Line79 = { v93, v89 };
            //fun.drawBLine(dxf, Line79, 0.08, contour);
            //Vector2[] Line80 = { v90, v89 };
            //fun.drawBLine(dxf, Line80, 0.08, contour);
            //Vector2[] Line81 = { v90, v91 };
            //fun.drawBLine(dxf, Line81, 0.08, contour);
            //Vector2[] Line82 = { v94, v95 };
            //fun.drawBLine(dxf, Line82, 0.08, contour);
            //Vector2[] Line83 = { v96, v97 };
            //fun.drawBLine(dxf, Line83, 0.08, contour);
            //Vector2[] Line84 = { v95, v97 };
            //fun.drawBLine(dxf, Line84, 0.08, contour);
            //Vector2[] Line85 = { v98, v99 };
            //fun.drawBLine(dxf, Line85, 0.08, contour);
            //Vector2[] Line86 = { v100, v101 };
            //fun.drawBLine(dxf, Line86, 0.08, contour);
            //Vector2[] Line87 = { v99, v101 };
            //fun.drawBLine(dxf, Line87, 0.08, contour);
            //Vector2[] Line88 = { v99, v102 };
            //fun.drawBLine(dxf, Line88, 0.08, contour);
            //Vector2[] Line89 = { v101, v103 };
            //fun.drawBLine(dxf, Line89, 0.08, contour);
            //Vector2[] Line90 = { v102, v104 };
            //fun.drawBLine(dxf, Line90, 0.08, contour);
            //Vector2[] Line91 = { v103, v105 };
            //fun.drawBLine(dxf, Line91, 0.08, contour);
            //Vector2[] Line92 = { v104, v105 };
            //fun.drawBLine(dxf, Line92, 0.08, contour);
            //DimensionStyle dimensionStyle = fun.CreateDimStyle();
            //dimensionStyle.ArrowSize = 1;
            //dimensionStyle.DimArrow1 = DimensionArrowhead.Closedfilled;
            //dimensionStyle.DimArrow2 = DimensionArrowhead.Closedfilled;
            //dimensionStyle.TextHeight = 1.8;
            //double offset = 6;
            //LinearDimension dim1 = new LinearDimension(new Line(v95, v97), offset * 6, 270, dimensionStyle);
            //dim1.UserText = "Φ27 ";
            //dxf.AddEntity(dim1);
            //LinearDimension dim2 = new LinearDimension(new Line(v92, v93), offset * 13, 270, dimensionStyle);
            //dim2.UserText = "Φ60 ";
            //dxf.AddEntity(dim2);
            //LinearDimension dim3 = new LinearDimension(new Line(v92, v95), offset * 6, 360, dimensionStyle);
            //dim3.UserText = "21 ";
            //dxf.AddEntity(dim3);
            //LinearDimension dim4 = new LinearDimension(new Line(v92, v28), offset * 4.3, 360, dimensionStyle);
            //dim4.UserText = "60 ";
            //dxf.AddEntity(dim4);
            Vector2[] Line93 = { v106, v107 };
            fun.drawPlinetype(dxf, Line93, 0.25,refin, Linetype.Dashed);
            Vector2[] Line94 = { v109, v108 };
            fun.drawPlinetype(dxf, Line94, 0.25,refin, Linetype.Dashed);
            //108!
            Vector2[] Line95 = { v110, v111 };
            fun.drawBLine(dxf, Line95, 0.08, contour);
            LwPolyline Arc8 = new LwPolyline();
            Arc8.Vertexes.Add(new LwPolylineVertex(v111));
            Arc8.Vertexes.Add(new LwPolylineVertex(v112));
            Arc8.Vertexes[0].Bulge = -f / 1.3 * Math.Tan(par / 2.6) / Math.Sin(par);
            fun.PolyFill(dxf, Arc8, 0.08, contour);
            Vector2[] Line96 = { v113, v114 };
            fun.drawBLine(dxf, Line96, 0.08, contour);
            Vector2[] Line97 = { v115, v114 };
            fun.drawBLine(dxf, Line97, 0.08, contour);
            Vector2[] Line98 = { v117, v116 };
            fun.drawBLine(dxf, Line98, 0.08, contour);
            Vector2[] Line99 = { v118, v119 };
            fun.drawBLine(dxf, Line99, 0.08, contour);
            Vector2[] Line100 = { v81, v120 };
            fun.drawBLine(dxf, Line100, 0.08, contour);
            Vector2[] Line101 = { v80, v121 };
            fun.drawBLine(dxf, Line101, 0.08, contour);
            Vector2[] Line102 = { v120, v122 };
            fun.drawBLine(dxf, Line102, 0.08, contour);
            Vector2[] Line103 = { v121, v123 };
            fun.drawBLine(dxf, Line103, 0.08, contour);
            Vector2[] Line104 = { v122, v123 };
            fun.drawBLine(dxf, Line104, 0.08, contour);
            Vector2[] Line105 = { v121, v120 };
            fun.drawBLine(dxf, Line105, 0.08, contour);
            Vector2[] Line106 = { v109, v124 };
            fun.drawPlinetype(dxf, Line106, 0.25,refin, Linetype.Dashed);
            Vector2[] Line107 = { v125, v124 };
            fun.drawPlinetype(dxf, Line107, 0.25,refin, Linetype.Dashed);
            Vector2[] Line108 = { v107, v109 };
            fun.drawPlinetype(dxf, Line108, 0.25,refin, Linetype.Dashed);
            Vector2[] Line109 = { v126, v107 };
            fun.drawPlinetype(dxf, Line109, 0.25,refin, Linetype.Dashed);
            Vector2[] Line110 = { v126, v127 };
            fun.drawPlinetype(dxf, Line110, 0.25,refin, Linetype.Dashed);
            Vector2[] Line111 = { v125, v127 };
            fun.drawPlinetype(dxf, Line111, 0.25,refin, Linetype.Dashed);
            Vector2[] Line112 = { v128, v127 };
            fun.drawPlinetype(dxf, Line112, 0.25,refin, Linetype.Dashed);
            Vector2[] Line113 = { v128, v129 };
            fun.drawPlinetype(dxf, Line113, 0.25,refin, Linetype.Dashed);
            Vector2[] Line114 = { v130, v131 };
            fun.drawPlinetype(dxf, Line114, 0.25,refin, Linetype.Dashed);
            Vector2[] Line115 = { v125, v130 };
            fun.drawPlinetype(dxf, Line115, 0.25,refin, Linetype.Dashed);
            Vector2[] Line116 = { v128, v130 };
            fun.drawPlinetype(dxf, Line116,0.25, refin, Linetype.Dashed);
            DimensionStyle dimensionStyle = fun.CreateDimStyle();
            dimensionStyle.ArrowSize = 1;
            dimensionStyle.DimArrow1 = DimensionArrowhead.Closedfilled;
            dimensionStyle.DimArrow2 = DimensionArrowhead.Closedfilled;
            dimensionStyle.TextHeight = 1.8;
            double offset = 6;
            LinearDimension dim1 = new LinearDimension(new Line(v19, v122), offset * 12, 360, dimensionStyle);
            dim1.UserText = "（110） ";
            dxf.AddEntity(dim1);
            LinearDimension dim2 = new LinearDimension(new Line(v19, v37), offset * 8, 360, dimensionStyle);
            dim2.UserText = "29 ";
            dxf.AddEntity(dim2);
            LinearDimension dim3 = new LinearDimension(new Line(v120, v121), offset * 8, 270, dimensionStyle);
            dim3.UserText = " Φ63";
            dxf.AddEntity(dim3);
            Vector2[] Line117 = { v132, v133 };
            fun.drawBLine(dxf, Line117, 0.08, contour);
            Vector2[] Line118 = { v134, v135 };
            fun.drawBLine(dxf, Line118, 0.08, contour);
            Vector2[] Line119 = { v133, v135 };
            fun.drawBLine(dxf, Line119, 0.08, contour);

            //图二
            Vector2[] Line120 = { v136, v137 };
            fun.drawBLine(dxf, Line120, 0.08, contour);
            Vector2[] Line121 = { v136, v138 };
            fun.drawBLine(dxf, Line121, 0.08, contour);
            Vector2[] Line122 = { v137, v139 };
            fun.drawBLine(dxf, Line122, 0.08, contour);
            Vector2[] Line123 = { v138, v140 };
            fun.drawBLine(dxf, Line123, 0.08, contour);
            Vector2[] Line124 = { v140, v139 };
            fun.drawBLine(dxf, Line124, 0.08, contour);
            //
            Vector2[] Line125 = { v140, v141 };
            fun.drawBLine(dxf, Line125, 0.08, contour);
            Vector2[] Line126 = { v139, v142 };
            fun.drawBLine(dxf, Line126, 0.08, contour);
            Vector2[] Line127 = { v142, v141 };
            fun.drawBLine(dxf, Line127, 0.08, contour);
            Vector2[] Line128 = { v143, v144 };
            fun.drawBLine(dxf, Line128, 0.08, contour);
            Vector2[] Line129 = { v145, v146 };
            fun.drawBLine(dxf, Line129, 0.08, contour);
            Vector2[] Line130 = { v144, v146 };
            fun.drawBLine(dxf, Line130, 0.08, contour);
            Vector2[] Line131 = { v144, v147 };
            fun.drawBLine(dxf, Line131, 0.08, contour);
            Vector2[] Line132 = { v148, v147 };
            fun.drawBLine(dxf, Line132, 0.08, contour);
            Vector2[] Line133 = { v149, v150 };
            fun.drawBLine(dxf, Line133, 0.08, contour);
            Vector2[] Line134 = { v148, v150 };
            fun.drawBLine(dxf, Line134, 0.08, contour);
            Vector2[] Line135 = { v146, v149 };
            fun.drawBLine(dxf, Line135, 0.08, contour);
            //
            Vector2[] Line136 = { v148, v151 };
            fun.drawBLine(dxf, Line136, 0.08, contour);
            Vector2[] Line137 = { v150, v152 };
            fun.drawBLine(dxf, Line137, 0.08, contour);
            Vector2[] Line138 = { v151, v152 };
            fun.drawBLine(dxf, Line138, 0.08, contour);
            //
            Vector2[] Line139 = { v153, v154 };
            fun.drawBLine(dxf, Line139, 0.08, contour);
            Vector2[] Line140 = { v155, v156 };
            fun.drawBLine(dxf, Line140, 0.08, contour);
            Vector2[] Line141 = { v154, v156 };
            fun.drawBLine(dxf, Line141, 0.08, contour);
            Vector2[] Line142 = { v157, v158 };
            fun.drawBLine(dxf, Line142, 0.08, contour);
            Vector2[] Line143 = { v159, v160 };
            fun.drawBLine(dxf, Line143, 0.08, contour);
            Vector2[] Line144 = { v158, v160 };
            fun.drawBLine(dxf, Line144, 0.08, contour);
            //
            Vector2[] Line145 = { v162, v161 };
            fun.drawBLine(dxf, Line145, 0.08, contour);
            Vector2[] Line146 = { v163, v164 };
            fun.drawBLine(dxf, Line146, 0.08, contour);
            Vector2[] Line147 = { v162, v164 };
            fun.drawBLine(dxf, Line147, 0.08, contour);
            Vector2[] Line148 = { v165, v166 };
            fun.drawBLine(dxf, Line148, 0.08, contour);
            Vector2[] Line149 = { v167, v168 };
            fun.drawBLine(dxf, Line149, 0.08, contour);
            Vector2[] Line150 = { v166, v168 };
            fun.drawBLine(dxf, Line150, 0.08, contour);
            Vector2[] Line151 = { v170, v172 };
            fun.drawBLine(dxf, Line151, 0.08, contour);
            Vector2[] Line152 = { v169, v171 };
            fun.drawBLine(dxf, Line152, 0.08, contour);
            Vector2[] Line153 = { v172, v171 };
            fun.drawBLine(dxf, Line153, 0.08, contour);
            Vector2[] Line154 = { v173, v171 };
            fun.drawBLine(dxf, Line154, 0.08, contour);
            Vector2[] Line155 = { v174, v172 };
            fun.drawBLine(dxf, Line155, 0.08, contour);
            Vector2[] Line156 = { v174, v173 };
            fun.drawBLine(dxf, Line156, 0.08, contour);
            //
            Vector2[] Line157 = { v173, v175 };
            fun.drawBLine(dxf, Line157, 0.08, contour);
            Vector2[] Line158 = { v174, v176 };
            fun.drawBLine(dxf, Line158, 0.08, contour);
            Vector2[] Line159 = { v177, v175 };
            fun.drawBLine(dxf, Line159, 0.08, contour);
            Vector2[] Line160 = { v178, v176 };
            fun.drawBLine(dxf, Line160, 0.08, contour);
            Vector2[] Line161 = { v178, v177 };
            fun.drawBLine(dxf, Line161, 0.08, contour);
            //
            Vector2[] Line162 = { v180, v179 };
            fun.drawPlinetype(dxf, Line162, 0.25,refin, Linetype.Dashed);
            Vector2[] Line163 = { v181, v182 };
            fun.drawPlinetype(dxf, Line163, 0.25,refin, Linetype.Dashed);
            Vector2[] Line164 = { v180, v182 };
            fun.drawPlinetype(dxf, Line164, 0.25,refin, Linetype.Dashed);
            Vector2[] Line165 = { v182, v183 };
            fun.drawPlinetype(dxf, Line165, 0.25,refin, Linetype.Dashed);
            Vector2[] Line166 = { v180, v184 };
            fun.drawPlinetype(dxf, Line166, 0.25,refin, Linetype.Dashed);
            Vector2[] Line167 = { v185, v186 };
            fun.drawPlinetype(dxf, Line167,0.25, refin, Linetype.Dashed);
            Vector2[] Line168 = { v187, v188 };
            fun.drawPlinetype(dxf, Line168,0.25, refin, Linetype.Dashed);
            //
            Vector2[] Line169 = { v189, v190 };
            fun.drawPlinetype(dxf, Line169, 0.25,refin, Linetype.Dashed);
            Vector2[] Line170 = { v191, v192 };
            fun.drawPlinetype(dxf, Line170, 0.25,refin, Linetype.Dashed);
            Vector2[] Line171 = { v193, v192 };
            fun.drawPlinetype(dxf, Line171, 0.25,refin, Linetype.Dashed);
            Vector2[] Line172 = { v190, v192 };
            fun.drawPlinetype(dxf, Line172, 0.25,refin, Linetype.Dashed);
            Vector2[] Line173 = { v194, v190 };
            fun.drawPlinetype(dxf, Line173, 0.25,refin, Linetype.Dashed);
            Vector2[] Line174 = { v194, v193 };
            fun.drawPlinetype(dxf, Line174, 0.25,refin, Linetype.Dashed);
            LwPolyline Arc9 = new LwPolyline();
            Arc9.Vertexes.Add(new LwPolylineVertex(v193));
            Arc9.Vertexes.Add(new LwPolylineVertex(v195));
            Arc9.Vertexes[0].Bulge = -f / 1.2 * Math.Tan(par / 2.6) / Math.Sin(par / 2);
            fun.PolyFillandlinetype(dxf, Arc9, 0.06, refin, Linetype.Dashed);
            LwPolyline Arc10 = new LwPolyline();
            Arc10.Vertexes.Add(new LwPolylineVertex(v194));
            Arc10.Vertexes.Add(new LwPolylineVertex(v196));
            Arc10.Vertexes[0].Bulge = f / 1.2 * Math.Tan(par / 2.6) / Math.Sin(par / 2);
            fun.PolyFillandlinetype(dxf, Arc10, 0.06, refin, Linetype.Dashed);
            Vector2[] Line175 = { v195, v196 };
            fun.drawPlinetype(dxf, Line175, 0.25,refin, Linetype.Dashed);
            Vector2[] Line176 = { v195, v197 };
            fun.drawPlinetype(dxf, Line176, 0.25,refin, Linetype.Dashed);
            Vector2[] Line177 = { v196, v198 };
            fun.drawPlinetype(dxf, Line177, 0.25,refin, Linetype.Dashed);
            Vector2[] Line178 = { v197, v198 };
            fun.drawPlinetype(dxf, Line178, 0.25,refin, Linetype.Dashed);
            fun.drawPlinetype(dxf, new Vector2[] { new Vector2(v136.X - f * 5, v1.Y), new Vector2(v136.X + r1 * 2 + r + r1 + r1 / 2, v1.Y) },0.25, centre, Linetype.Center);
            Vector2[] Line179 = { v199, v200 };
            fun.drawPlinetype(dxf, Line179, 0.25,skdimensioning, Linetype.Dashed);
            Vector2[] Line180 = { v201, v202 };
            fun.drawPlinetype(dxf, Line180, 0.25,skdimensioning, Linetype.Dashed);
            LwPolyline Arc11 = new LwPolyline();
            Arc11.Vertexes.Add(new LwPolylineVertex(v200));
            Arc11.Vertexes.Add(new LwPolylineVertex(v202));
            Arc11.Vertexes[0].Bulge = -f / 1.2 * Math.Tan(par / 2.6) / Math.Sin(par / 1.3);
            fun.PolyFillandlinetype(dxf, Arc11, 0.06, skdimensioning, Linetype.Dashed);
            LwPolyline poly1 = new LwPolyline();
            poly1.Vertexes.Add(new LwPolylineVertex(fun.Polar(v203, 0, f * 2.8)));
            poly1.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly1.Vertexes.Add(new LwPolylineVertex(fun.Polar(v203, Math.PI, f * 2.8)));
            poly1.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly1.Vertexes.Add(new LwPolylineVertex(fun.Polar(v203, 0, f * 2.8)));
            fun.PolyFill(dxf, poly1, 0.06, skdimensioning);
            Vector2[] Line181 = { v204, v205 };
            fun.drawPlinetype(dxf, Line181, 0.25,refin, Linetype.Dashed);
            Vector2[] Line182 = { v206, v207 };
            fun.drawPlinetype(dxf, Line182, 0.25,refin, Linetype.Dashed);
            Vector2[] Line183 = { v208, v209 };
            fun.drawPlinetype(dxf, Line183, 0.25,refin, Linetype.Dashed);
            Vector2[] Line184 = { v210, v211 };
            fun.drawPlinetype(dxf, Line184, 0.25,refin, Linetype.Dashed);
            Vector2[] Line185 = { v212, v213 };
            fun.drawPlinetype(dxf, Line185, 0.25,refin, Linetype.Dashed);
            Vector2[] Line186 = { v211, v213 };
            fun.drawPlinetype(dxf, Line186, 0.25,refin, Linetype.Dashed);
            Vector2[] Line187 = { v211, v214 };
            fun.drawPlinetype(dxf, Line187, 0.25,refin, Linetype.Dashed);
            Vector2[] Line188 = { v213, v215 };
            fun.drawPlinetype(dxf, Line188, 0.25,refin, Linetype.Dashed);
            Vector2[] Line189 = { v214, v215 };
            fun.drawPlinetype(dxf, Line189, 0.25,refin, Linetype.Dashed);
            //
            Vector2[] Line190 = { v216, v222 };
            fun.drawBLine(dxf, Line190, 0.08, skdimensioning);
            Vector2[] Line191 = { v209, v207 };
            fun.drawPlinetype(dxf, Line191, 0.25,skdimensioning, Linetype.Dashed);
            Vector2[] Line192 = { v223, v217 };
            fun.drawBLine(dxf, Line192, 0.08, skdimensioning);
            fun.drawPlinetype(dxf, new Vector2[] { new Vector2(v216.X + f, v216.Y + f * 5), new Vector2(v216.X + f, v217.Y - f * 2) },0.25, centre, Linetype.Center);
            //另一半
            Vector2[] Line193 = { v218, v220 };
            fun.drawBLine(dxf, Line193, 0.08, skdimensioning);
            Vector2[] Line194 = { v219, v221 };
            fun.drawBLine(dxf, Line194, 0.08, skdimensioning);
            //
            LwPolyline Arc12 = new LwPolyline();
            Arc12.Vertexes.Add(new LwPolylineVertex(v222));
            Arc12.Vertexes.Add(new LwPolylineVertex(v216));
            Arc12.Vertexes[0].Bulge = -f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc12, 0.08, skdimensioning, Linetype.Dashed);
            LwPolyline Arc13 = new LwPolyline();
            Arc13.Vertexes.Add(new LwPolylineVertex(v223));
            Arc13.Vertexes.Add(new LwPolylineVertex(v217));
            Arc13.Vertexes[0].Bulge = f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc13, 0.08, skdimensioning, Linetype.Dashed);
            LwPolyline Arc14 = new LwPolyline();
            Arc14.Vertexes.Add(new LwPolylineVertex(v220));
            Arc14.Vertexes.Add(new LwPolylineVertex(v218));
            Arc14.Vertexes[0].Bulge = -f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc14, 0.08, skdimensioning, Linetype.Dashed);
            LwPolyline Arc15 = new LwPolyline();
            Arc15.Vertexes.Add(new LwPolylineVertex(v221));
            Arc15.Vertexes.Add(new LwPolylineVertex(v219));
            Arc15.Vertexes[0].Bulge = f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc15, 0.08, skdimensioning, Linetype.Dashed);
            Vector2[] Line195 = { v218, v222 };
            fun.drawBLine(dxf, Line195, 0.08, skdimensioning);
            Vector2[] Line196 = { v219, v223 };
            fun.drawBLine(dxf, Line196, 0.08, skdimensioning);
            Vector2[] Line197 = { v216, v220 };
            fun.drawBLine(dxf, Line197, 0.08, skdimensioning);
            Vector2[] Line198 = { v217, v221 };
            fun.drawBLine(dxf, Line198, 0.08, skdimensioning);
            LwPolyline poly2 = new LwPolyline();
            poly2.Vertexes.Add(new LwPolylineVertex(fun.Polar(v224, 0, f * 3.6)));
            poly2.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly2.Vertexes.Add(new LwPolylineVertex(fun.Polar(v224, Math.PI, f * 3.6)));
            poly2.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly2.Vertexes.Add(new LwPolylineVertex(fun.Polar(v224, 0, f * 3.6)));
            fun.PolyFill(dxf, poly2, 0.08, skdimensioning);
            //
            LinearDimension dim4 = new LinearDimension(new Line(v177, v178), offset * 3, 270, dimensionStyle);
            dim4.UserText = "Φ27 ";
            dxf.AddEntity(dim4);
            LinearDimension dim5 = new LinearDimension(new Line(v162, v158), offset * 12, 270, dimensionStyle);
            dim5.UserText = "Φ60 ";
            dxf.AddEntity(dim5);
            //
            //图三
            Vector2[] Line199 = { v225, v226 };
            fun.drawBLine(dxf, Line199, 0.08, contour);
            Vector2[] Line200 = { v225, v227 };
            fun.drawBLine(dxf, Line200, 0.08, contour);
            Vector2[] Line201 = { v226, v228 };
            fun.drawBLine(dxf, Line201, 0.08, contour);
            Vector2[] Line202 = { v227, v229 };
            fun.drawBLine(dxf, Line202, 0.08, contour);
            Vector2[] Line203 = { v228, v229 };
            fun.drawBLine(dxf, Line203, 0.08, contour);
            Vector2[] Line204 = { v230, v229 };
            fun.drawBLine(dxf, Line204, 0.08, contour);
            //虚线前
            Vector2[] Line205 = { v231, v228 };
            fun.drawBLine(dxf, Line205, 0.08, contour);
            Vector2[] Line206 = { v231, v230 };
            fun.drawBLine(dxf, Line206, 0.08, contour);
            //
            Vector2[] Line207 = { v232, v233 };
            fun.drawPlinetype(dxf, Line207, 0.25,refin, Linetype.Dashed);
            Vector2[] Line208 = { v234, v235 };
            fun.drawPlinetype(dxf, Line208, 0.25,refin, Linetype.Dashed);
            //
            Vector2[] Line209 = { v230, v236 };
            fun.drawBLine(dxf, Line209, 0.08, contour);
            Vector2[] Line210 = { v231, v237 };
            fun.drawBLine(dxf, Line210, 0.08, contour);
            //
            LwPolyline Arc16 = new LwPolyline();
            Arc16.Vertexes.Add(new LwPolylineVertex(v236));
            Arc16.Vertexes.Add(new LwPolylineVertex(v238));
            Arc16.Vertexes[0].Bulge = -f / 8 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc16, 0.08, contour);
            //LwPolyline Arc17 = new LwPolyline();
            //Arc17.Vertexes.Add(new LwPolylineVertex(v237));
            //Arc17.Vertexes.Add(new LwPolylineVertex(v239));
            //Arc17.Vertexes[0].Bulge = f / 6 * Math.Tan(par) / Math.Sin(par);
            //fun.PolyFill(dxf, Arc17, 0.08, contour);
            Vector2[] Line211 = { v240, v238 };
            fun.drawBLine(dxf, Line211, 0.08, contour);
            Vector2[] Line212 = { v237, v241 };
            fun.drawBLine(dxf, Line212, 0.08, contour);
            Vector2[] Line213 = { v236, v242 };
            fun.drawBLine(dxf, Line213, 0.08, contour);
            LwPolyline Arc17 = new LwPolyline();
            Arc17.Vertexes.Add(new LwPolylineVertex(v242));
            Arc17.Vertexes.Add(new LwPolylineVertex(v243));
            Arc17.Vertexes[0].Bulge = -f / 12 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc17, 0.08, contour);
            Vector2[] Line214 = { v243, v244 };
            fun.drawBLine(dxf, Line214, 0.08, contour);
            Vector2[] Line215 = { v245, v244 };
            fun.drawBLine(dxf, Line215, 0.08, contour);
            Vector2[] Line216 = { v244, v246 };
            fun.drawBLine(dxf, Line216, 0.08, contour);
            Vector2[] Line217 = { v247, v246 };
            fun.drawBLine(dxf, Line217, 0.08, contour);
            Vector2[] Line218 = { v247, v248 };
            fun.drawBLine(dxf, Line218, 0.08, contour);
            Vector2[] Line219 = { v249, v248 };
            fun.drawBLine(dxf, Line219, 0.08, contour);
            Vector2[] Line220 = { v249, v250 };
            fun.drawBLine(dxf, Line220, 0.08, contour);
            Vector2[] Line221 = { v248, v251 };
            fun.drawBLine(dxf, Line221, 0.08, contour);
            Vector2[] Line222 = { v241, v251 };
            fun.drawBLine(dxf, Line222, 0.08, contour);
            Vector2[] Line223 = { v250, v252 };
            fun.drawBLine(dxf, Line223, 0.08, contour);
            LwPolyline Arc18 = new LwPolyline();
            Arc18.Vertexes.Add(new LwPolylineVertex(v253));
            Arc18.Vertexes.Add(new LwPolylineVertex(v254));
            Arc18.Vertexes[0].Bulge = -f * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc18, 0.08, contour);
            Vector2[] Line224 = { v254, v255 };
            fun.drawBLine(dxf, Line224, 0.08, contour);
            Vector2[] Line225 = { v256, v246 };
            fun.drawBLine(dxf, Line225, 0.08, skdimensioning);
            Vector2[] Line226 = { v257, v248 };
            fun.drawBLine(dxf, Line226, 0.08, skdimensioning);
            //中间
            Vector2[] Line227 = { v258, v255 };
            fun.drawBLine(dxf, Line227, 0.08, contour);
            Vector2[] Line228 = { v258, v259 };
            fun.drawBLine(dxf, Line228, 0.08, contour);
            Vector2[] Line229 = { v260, v255 };
            fun.drawBLine(dxf, Line229, 0.08, contour);
            Vector2[] Line230 = { v260, v261 };
            fun.drawBLine(dxf, Line230, 0.08, contour);
            Vector2[] Line231 = { v258, v261 };
            fun.drawBLine(dxf, Line231, 0.08, contour);
            Vector2[] Line232 = { v262, v261 };
            fun.drawBLine(dxf, Line232, 0.08, contour);
            Vector2[] Line233 = { v263, v260 };
            fun.drawBLine(dxf, Line233, 0.08, contour);
            Vector2[] Line234 = { v263, v264 };
            fun.drawBLine(dxf, Line234, 0.08, contour);
            Vector2[] Line235 = { v261, v264 };
            fun.drawBLine(dxf, Line235, 0.08, contour);
            Vector2[] Line236 = { v265, v264 };
            fun.drawBLine(dxf, Line236, 0.08, contour);
            Vector2[] Line237 = { v266, v265 };
            fun.drawBLine(dxf, Line237, 0.08, contour);
            Vector2[] Line238 = { v267, v268 };
            fun.drawBLine(dxf, Line238, 0.08, contour);
            LwPolyline Arc19 = new LwPolyline();
            Arc19.Vertexes.Add(new LwPolylineVertex(v268));
            Arc19.Vertexes.Add(new LwPolylineVertex(v269));
            Arc19.Vertexes[0].Bulge = f / 1.6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc19, 0.08, contour);
            Vector2[] Line239 = { v269, v270 };
            fun.drawBLine(dxf, Line239, 0.08, contour);
            Vector2[] Line240 = { v271, v270 };
            fun.drawBLine(dxf, Line240, 0.08, contour);
            LwPolyline poly3 = new LwPolyline();
            poly3.Vertexes.Add(new LwPolylineVertex(fun.Polar(v272, 0, f / 1.6)));
            poly3.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly3.Vertexes.Add(new LwPolylineVertex(fun.Polar(v272, Math.PI, f / 1.6)));
            poly3.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly3.Vertexes.Add(new LwPolylineVertex(fun.Polar(v272, 0, f / 1.6)));
            fun.PolyFill(dxf, poly3, 0.08, contour);
            LwPolyline poly4 = new LwPolyline();
            poly4.Vertexes.Add(new LwPolylineVertex(fun.Polar(v273, 0, f / 1.3)));
            poly4.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly4.Vertexes.Add(new LwPolylineVertex(fun.Polar(v273, Math.PI, f / 1.3)));
            poly4.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly4.Vertexes.Add(new LwPolylineVertex(fun.Polar(v273, 0, f / 1.3)));
            fun.PolyFill(dxf, poly4, 0.08, contour);
            Vector2[] Line241 = { v266, v274 };
            fun.drawBLine(dxf, Line241, 0.08, contour);
            Vector2[] Line242 = { v275, v274 };
            fun.drawBLine(dxf, Line242, 0.08, contour);
            Vector2[] Line243 = { v275, v276 };
            fun.drawBLine(dxf, Line243, 0.08, contour);
            LwPolyline Arc20 = new LwPolyline();
            Arc20.Vertexes.Add(new LwPolylineVertex(v275));
            Arc20.Vertexes.Add(new LwPolylineVertex(v274));
            Arc20.Vertexes[0].Bulge = -f / 1.2 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc20, 0.08, contour);
            LwPolyline Arc21 = new LwPolyline();
            Arc21.Vertexes.Add(new LwPolylineVertex(v274));
            Arc21.Vertexes.Add(new LwPolylineVertex(v277));
            Arc21.Vertexes[0].Bulge = f / 8 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc21, 0.08, contour);
            Vector2[] Line244 = { v278, v277 };
            fun.drawBLine(dxf, Line244, 0.08, contour);
            Vector2[] Line245 = { v279, v280 };
            fun.drawBLine(dxf, Line245, 0.06, contour);
            Vector2[] Line246 = { v279, v281 };
            fun.drawBLine(dxf, Line246, 0.06, contour);
            Vector2[] Line247 = { v282, v271 };
            fun.drawBLine(dxf, Line247, 0.08, contour);
            Vector2[] Line248 = { v282, v283 };
            fun.drawBLine(dxf, Line248, 0.08, contour);
            Vector2[] Line249 = { v284, v283 };
            fun.drawBLine(dxf, Line249, 0.08, contour);
            Vector2[] Line250 = { v284, v285 };
            fun.drawBLine(dxf, Line250, 0.08, contour);
            Vector2[] Line251 = { v286, v285 };
            fun.drawBLine(dxf, Line251, 0.08, contour);
            Vector2[] Line252 = { v282, v287 };
            fun.drawBLine(dxf, Line252, 0.08, contour);
            Vector2[] Line253 = { v288, v287 };
            fun.drawBLine(dxf, Line253, 0.08, contour);
            Vector2[] Line254 = { v289, v290 };
            fun.drawBLine(dxf, Line254, 0.08, contour);
            Vector2[] Line255 = { v271, v291 };
            fun.drawBLine(dxf, Line255, 0.08, contour);
            Vector2[] Line256 = { v292, v291 };
            fun.drawBLine(dxf, Line256, 0.08, contour);
            Vector2[] Line257 = { v293, v294 };
            fun.drawBLine(dxf, Line257, 0.08, contour);
            Vector2[] Line258 = { v293, v295 };
            fun.drawBLine(dxf, Line258, 0.08, contour);
            Vector2[] Line259 = { v296, v295 };
            fun.drawBLine(dxf, Line259, 0.08, contour);
            Vector2[] Line260 = { v297, v295 };
            fun.drawBLine(dxf, Line260, 0.08, contour);
            Vector2[] Line261 = { v299, v295 };
            fun.drawBLine(dxf, Line261, 0.08, contour);
            Vector2[] Line262 = { v294, v298 };
            fun.drawBLine(dxf, Line262, 0.08, contour);
            Vector2[] Line263 = { v300, v294 };
            fun.drawBLine(dxf, Line263, 0.08, contour);
            LwPolyline Arc22 = new LwPolyline();
            Arc22.Vertexes.Add(new LwPolylineVertex(v300));
            Arc22.Vertexes.Add(new LwPolylineVertex(v301));
            Arc22.Vertexes[0].Bulge = f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc22, 0.08, contour);
            Vector2[] Line264 = { v301, v302 };
            fun.drawBLine(dxf, Line264, 0.08, contour);
            Vector2[] Line265 = { v302, v303 };
            fun.drawBLine(dxf, Line265, 0.12, contour);
            Vector2[] Line266 = { v304, v302 };
            fun.drawBLine(dxf, Line266, 0.08, contour);
            Vector2[] Line267 = { v305, v306 };
            fun.drawBLine(dxf, Line267, 0.08, contour);
            Vector2[] Line268 = { v307, v304 };
            fun.drawBLine(dxf, Line268, 0.08, contour);
            LwPolyline Arc23 = new LwPolyline();
            Arc23.Vertexes.Add(new LwPolylineVertex(v298));
            Arc23.Vertexes.Add(new LwPolylineVertex(v251));
            Arc23.Vertexes[0].Bulge = f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc23, 0.08, contour);
            Vector2[] Line269 = { v308, v304 };
            fun.drawBLine(dxf, Line269, 0.08, contour);
            Vector2[] Line270 = { v309, v310 };
            fun.drawBLine(dxf, Line270, 0.12, contour);
            Vector2[] Line271 = { v311, v312 };
            fun.drawBLine(dxf, Line271, 0.08, contour);
            Vector2[] Line272 = { v313, v314 };
            fun.drawBLine(dxf, Line272, 0.12, contour);
            Vector2[] Line273 = { v315, v316 };
            fun.drawBLine(dxf, Line273, 0.08, contour);
            Vector2[] Line274 = { v317, v318 };
            fun.drawPlinetype(dxf, Line274, 0.25,refin, Linetype.Dashed);
            Vector2[] Line275 = { v319, v320 };
            fun.drawPlinetype(dxf, Line275, 0.25,refin, Linetype.Dashed);
            LwPolyline Arc24 = new LwPolyline();
            Arc24.Vertexes.Add(new LwPolylineVertex(v317));
            Arc24.Vertexes.Add(new LwPolylineVertex(v320));
            Arc24.Vertexes[0].Bulge = f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc24, 0.08, refin, Linetype.Dashed);
            LwPolyline Arc25 = new LwPolyline();
            Arc25.Vertexes.Add(new LwPolylineVertex(v318));
            Arc25.Vertexes.Add(new LwPolylineVertex(v319));
            Arc25.Vertexes[0].Bulge = -f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc25, 0.08, refin, Linetype.Dashed);
            Vector2[] Line276 = { v322, v321 };
            fun.drawPlinetype(dxf, Line276, 0.25,refin, Linetype.Dashed);
            Vector2[] Line277 = { v323, v324 };
            fun.drawPlinetype(dxf, Line277, 0.25,refin, Linetype.Dashed);
            Vector2[] Line278 = { v325, v322 };
            fun.drawPlinetype(dxf, Line278, 0.25,refin, Linetype.Dashed);
            Vector2[] Line279 = { v326, v324 };
            fun.drawPlinetype(dxf, Line279, 0.25,refin, Linetype.Dashed);
            Vector2[] Line280 = { v327, v326 };
            fun.drawBLine(dxf, Line280, 0.08, contour);
            //组合总
            Vector2[] Line281 = { v329, v331 };
            fun.drawBLine(dxf, Line281, 0.08, contour);
            Vector2[] Line282 = { v330, v332 };
            fun.drawBLine(dxf, Line282, 0.08, contour);
            Vector2[] Line283 = { v331, v332 };
            fun.drawBLine(dxf, Line283, 0.08, contour);
            Vector2[] Line284 = { v329, v333 };
            fun.drawBLine(dxf, Line284, 0.08, contour);
            Vector2[] Line285 = { v330, v334 };
            fun.drawBLine(dxf, Line285, 0.08, contour);
            Vector2[] Line286 = { v329, v335 };
            fun.drawBLine(dxf, Line286, 0.05, skdimensioning);
            Vector2[] Line287 = { v330, v336 };
            fun.drawBLine(dxf, Line287, 0.05, skdimensioning);
            LwPolyline Arc26 = new LwPolyline();
            Arc26.Vertexes.Add(new LwPolylineVertex(v335));
            Arc26.Vertexes.Add(new LwPolylineVertex(v337));
            Arc26.Vertexes[0].Bulge = -f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc26, 0.05, skdimensioning);
            LwPolyline Arc27 = new LwPolyline();
            Arc27.Vertexes.Add(new LwPolylineVertex(v336));
            Arc27.Vertexes.Add(new LwPolylineVertex(v338));
            Arc27.Vertexes[0].Bulge = f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc27, 0.05, skdimensioning);
            Vector2[] Line288 = { v337, v338 };
            fun.drawBLine(dxf, Line288, 0.05, skdimensioning);
            LwPolyline Arc28 = new LwPolyline();
            Arc28.Vertexes.Add(new LwPolylineVertex(v333));
            Arc28.Vertexes.Add(new LwPolylineVertex(v339));
            Arc28.Vertexes[0].Bulge = -f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc28, 0.08, contour);
            LwPolyline Arc29 = new LwPolyline();
            Arc29.Vertexes.Add(new LwPolylineVertex(v334));
            Arc29.Vertexes.Add(new LwPolylineVertex(v340));
            Arc29.Vertexes[0].Bulge = f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc29, 0.08, contour);
            Vector2[] Line289 = { v339, v341 };
            fun.drawBLine(dxf, Line289, 0.08, contour);
            Vector2[] Line290 = { v340, v342 };
            fun.drawBLine(dxf, Line290, 0.08, contour);
            Vector2[] Line291 = { v341, v343 };
            fun.drawBLine(dxf, Line291, 0.08, contour);
            Vector2[] Line292 = { v342, v344 };
            fun.drawBLine(dxf, Line292, 0.08, contour);
            Vector2[] Line293 = { v343, v344 };
            fun.drawBLine(dxf, Line293, 0.08, contour);
            Vector2[] Line294 = { v345, v343 };
            fun.drawBLine(dxf, Line294, 0.08, contour);
            Vector2[] Line295 = { v342, v341 };
            fun.drawBLine(dxf, Line295, 0.08, contour);
            Vector2[] Line296 = { v344, v346 };
            fun.drawBLine(dxf, Line296, 0.08, contour);
            Vector2[] Line297 = { v345, v347 };
            fun.drawBLine(dxf, Line297, 0.08, contour);
            Vector2[] Line298 = { v346, v348 };
            fun.drawBLine(dxf, Line298, 0.08, contour);
            //Vector2[] Line299 = { v347, v348 };
            //fun.drawBLine(dxf, Line299, 0.08, contour);
            //
            Vector2[] Line300 = { v349, v350 };
            fun.drawBLine(dxf, Line300, 0.05, refin);
            Vector2[] Line301 = { v351, v350 };
            fun.drawBLine(dxf, Line301, 0.05, refin);
            Vector2[] Line302 = { v349, v352 };
            fun.drawBLine(dxf, Line302, 0.05, refin);
            Vector2[] Line303 = { v351, v353 };
            fun.drawBLine(dxf, Line303, 0.05, refin);
            Vector2[] Line304 = { v352, v353 };
            fun.drawBLine(dxf, Line304, 0.05, refin);
            LwPolyline Arc30 = new LwPolyline();
            Arc30.Vertexes.Add(new LwPolylineVertex(v349));
            Arc30.Vertexes.Add(new LwPolylineVertex(v351));
            Arc30.Vertexes[0].Bulge = f * Math.Tan(par / 1.2) / Math.Sin(par);
            fun.PolyFill(dxf, Arc30, 0.05, refin);
            //
            Vector2[] Line305 = { v347, v354 };
            fun.drawBLine(dxf, Line305, 0.08, contour);
            Vector2[] Line306 = { v347, v355 };
            fun.drawBLine(dxf, Line306, 0.08, contour);
            Vector2[] Line307 = { v356, v354 };
            fun.drawBLine(dxf, Line307, 0.08, contour);
            Vector2[] Line308 = { v358, v357 };
            fun.drawBLine(dxf, Line308, 0.08, contour);
            //
            Vector2[] Line309 = { v354, v359 };
            fun.drawBLine(dxf, Line309, 0.08, contour);
            Vector2[] Line310 = { v360, v359 };
            fun.drawBLine(dxf, Line310, 0.08, contour);
            Vector2[] Line311 = { v360, v361 };
            fun.drawBLine(dxf, Line311, 0.08, contour);
            Vector2[] Line312 = { v362, v361 };
            fun.drawBLine(dxf, Line312, 0.08, contour);
            Vector2[] Line313 = { v363, v359 };
            fun.drawBLine(dxf, Line313, 0.08, contour);
            Vector2[] Line314 = { v364, v360 };
            fun.drawBLine(dxf, Line314, 0.08, contour);
            Vector2[] Line315 = { v365, v366 };
            fun.drawBLine(dxf, Line315, 0.08, contour);
            //
            Vector2[] Line316 = { v367, v368 };
            fun.drawPlinetype(dxf, Line316, 0.25,refin, Linetype.Dashed);
            Vector2[] Line317 = { v369, v368 };
            fun.drawPlinetype(dxf, Line317, 0.25,refin, Linetype.Dashed);
            Vector2[] Line318 = { v370, v368 };
            fun.drawPlinetype(dxf, Line318, 0.25,refin, Linetype.Dashed);
            Vector2[] Line319 = { v370, v371 };
            fun.drawPlinetype(dxf, Line319, 0.25,refin, Linetype.Dashed);
            Vector2[] Line320 = { v371, v372 };
            fun.drawPlinetype(dxf, Line320, 0.25,refin, Linetype.Dashed);
            Vector2[] Line321 = { v373, v372 };
            fun.drawPlinetype(dxf, Line321, 0.25,refin, Linetype.Dashed);
            Vector2[] Line322 = { v374, v373 };
            fun.drawPlinetype(dxf, Line322,0.25, refin, Linetype.Dashed);
            LwPolyline Arc31 = new LwPolyline();
            Arc31.Vertexes.Add(new LwPolylineVertex(v374));
            Arc31.Vertexes.Add(new LwPolylineVertex(v375));
            Arc31.Vertexes[0].Bulge = -f / 1.2 * Math.Tan(par / 2) / Math.Sin(par);
            fun.PolyFill(dxf, Arc31, 0.06, refin);
            //
            Vector2[] Line323 = { v376, v377 };
            fun.drawPlinetype(dxf, Line323, 0.25,refin, Linetype.Dashed);
            Vector2[] Line324 = { v378, v377 };
            fun.drawPlinetype(dxf, Line324, 0.25,refin, Linetype.Dashed);
            Vector2[] Line325 = { v379, v377 };
            fun.drawPlinetype(dxf, Line325, 0.25,refin, Linetype.Dashed);
            Vector2[] Line326 = { v380, v379 };
            fun.drawPlinetype(dxf, Line326, 0.25,refin, Linetype.Dashed);
            //
            Vector2[] Line327 = { v380, v381 };
            fun.drawPlinetype(dxf, Line327, 0.25,refin, Linetype.Dashed);
            Vector2[] Line328 = { v381, v382 };
            fun.drawPlinetype(dxf, Line328, 0.25,refin, Linetype.Dashed);
            Vector2[] Line329 = { v383, v382 };
            fun.drawPlinetype(dxf, Line329, 0.25,refin, Linetype.Dashed);
            LwPolyline Arc32 = new LwPolyline();
            Arc32.Vertexes.Add(new LwPolylineVertex(v383));
            Arc32.Vertexes.Add(new LwPolylineVertex(v384));
            Arc32.Vertexes[0].Bulge = f / 1.2 * Math.Tan(par / 2) / Math.Sin(par);
            fun.PolyFill(dxf, Arc32, 0.06, refin);
            //
            Vector2[] Line330 = { v384, v375 };
            fun.drawPlinetype(dxf, Line330, 0.25,refin, Linetype.Dashed);
            Vector2[] Line331 = { v370, v379 };
            fun.drawPlinetype(dxf, Line331, 0.25,refin, Linetype.Dashed);
            Vector2[] Line332 = { v371, v380 };
            fun.drawPlinetype(dxf, Line332, 0.25,refin, Linetype.Dashed);
            //
            LwPolyline poly5 = new LwPolyline();
            poly5.Vertexes.Add(new LwPolylineVertex(fun.Polar(v385, 0, f * 2.8)));
            poly5.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly5.Vertexes.Add(new LwPolylineVertex(fun.Polar(v385, Math.PI, f * 2.8)));
            poly5.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly5.Vertexes.Add(new LwPolylineVertex(fun.Polar(v385, 0, f * 2.8)));
            fun.PolyFill(dxf, poly5, 0.05, contour);
            //
            Vector2[] Line333 = { v348, v386 };
            fun.drawBLine(dxf, Line333, 0.08, contour);
            Vector2[] Line334 = { v348, v387 };
            fun.drawBLine(dxf, Line334, 0.08, contour);
            Vector2[] Line335 = { v386, v388 };
            fun.drawBLine(dxf, Line335, 0.08, contour);
            Vector2[] Line336 = { v386, v389 };
            fun.drawBLine(dxf, Line336, 0.08, contour);
            Vector2[] Line337 = { v390, v389 };
            fun.drawBLine(dxf, Line337, 0.08, contour);
            Vector2[] Line338 = { v390, v391 };
            fun.drawBLine(dxf, Line338, 0.08, contour);
            Vector2[] Line339 = { v393, v389 };
            fun.drawBLine(dxf, Line339, 0.08, contour);
            Vector2[] Line340 = { v394, v391 };
            fun.drawBLine(dxf, Line340, 0.08, contour);
            Vector2[] Line341 = { v395, v396 };
            fun.drawBLine(dxf, Line341, 0.08, contour);
            Vector2[] Line342 = { v398, v397 };
            fun.drawBLine(dxf, Line342, 0.08, contour);
            Vector2[] Line343 = { v398, v396 };
            fun.drawBLine(dxf, Line343, 0.08, contour);
            Vector2[] Line344 = { v396, v399 };
            fun.drawBLine(dxf, Line344, 0.08, contour);
            //
            Vector2[] Line345 = { v400, v401 };
            fun.drawPlinetype(dxf, Line345, 0.25,refin, Linetype.Dashed);
            Vector2[] Line346 = { v402, v403 };
            fun.drawPlinetype(dxf, Line346, 0.25,refin, Linetype.Dashed);
            //
            Vector2[] Line347 = { v404, v405 };
            fun.drawBLine(dxf, Line347, 0.08, contour);
            LwPolyline Arc33 = new LwPolyline();
            Arc33.Vertexes.Add(new LwPolylineVertex(v405));
            Arc33.Vertexes.Add(new LwPolylineVertex(v406));
            Arc33.Vertexes[0].Bulge = -f / 2 * Math.Tan(par / 1.3) / Math.Sin(par);
            fun.PolyFill(dxf, Arc33, 0.08, contour);
            Vector2[] Line348 = { v407, v408 };
            fun.drawBLine(dxf, Line348, 0.08, contour);
            Vector2[] Line349 = { v409, v408 };
            fun.drawBLine(dxf, Line349, 0.08, contour);
            //Vector2[] Line350 = { v409, v410 };
            //fun.drawBLine(dxf, Line350, 0.08, contour);
            Vector2[] Line351 = { v411, v410 };
            fun.drawBLine(dxf, Line351, 0.08, contour);
            Vector2[] Line352 = { v412, v413 };
            fun.drawBLine(dxf, Line352, 0.08, contour);
            //
            Vector2[] Line353 = { v414, v415 };
            fun.drawBLine(dxf, Line353, 0.08, contour);
            Vector2[] Line354 = { v399, v416 };
            fun.drawBLine(dxf, Line354, 0.08, contour);
            Vector2[] Line355 = { v417, v415 };
            fun.drawBLine(dxf, Line355, 0.08, contour);
            Vector2[] Line356 = { v418, v416 };
            fun.drawBLine(dxf, Line356, 0.08, contour);
            Vector2[] Line357 = { v417, v418 };
            fun.drawBLine(dxf, Line357, 0.08, contour);
            Vector2[] Line358 = { v415, v416 };
            fun.drawBLine(dxf, Line358, 0.08, contour);
            Vector2[] Line359 = { v398, v414 };
            fun.drawBLine(dxf, Line359, 0.08, contour);
            //
            Vector2[] Line360 = { v403, v419 };
            fun.drawPlinetype(dxf, Line360, 0.25,refin, Linetype.Dashed);
            Vector2[] Line361 = { v419, v420 };
            fun.drawPlinetype(dxf, Line361, 0.25,refin, Linetype.Dashed);
            Vector2[] Line362 = { v421, v401 };
            fun.drawPlinetype(dxf, Line362, 0.25,refin, Linetype.Dashed);
            Vector2[] Line363 = { v403, v401 };
            fun.drawPlinetype(dxf, Line363, 0.25,refin, Linetype.Dashed);
            Vector2[] Line364 = { v421, v422 };
            fun.drawPlinetype(dxf, Line364, 0.25,refin, Linetype.Dashed);
            Vector2[] Line365 = { v420, v422 };
            fun.drawPlinetype(dxf, Line365, 0.25,refin, Linetype.Dashed);
            Vector2[] Line366 = { v422, v423 };
            fun.drawPlinetype(dxf, Line366, 0.25,refin, Linetype.Dashed);
            Vector2[] Line367 = { v424, v423 };
            fun.drawPlinetype(dxf, Line367, 0.25,refin, Linetype.Dashed);
            Vector2[] Line368 = { v420, v425 };
            fun.drawPlinetype(dxf, Line368, 0.25,refin, Linetype.Dashed);
            Vector2[] Line369 = { v425, v423 };
            fun.drawPlinetype(dxf, Line369, 0.25,refin, Linetype.Dashed);
            Vector2[] Line370 = { v426, v425 };
            fun.drawPlinetype(dxf, Line370, 0.25,refin, Linetype.Dashed);
            //2
            Vector2[] Line371 = { v427, v428 };
            fun.drawPlinetype(dxf, Line371, 0.25,refin, Linetype.Dashed);
            Vector2[] Line372 = { v427, v429 };
            fun.drawPlinetype(dxf, Line372, 0.25,refin, Linetype.Dashed);
            Vector2[] Line373 = { v428, v430 };
            fun.drawPlinetype(dxf, Line373, 0.25,refin, Linetype.Dashed);
            Vector2[] Line374 = { v429, v431 };
            fun.drawPlinetype(dxf, Line374, 0.25,refin, Linetype.Dashed);
            Vector2[] Line375 = { v431, v430 };
            fun.drawPlinetype(dxf, Line375, 0.25,refin, Linetype.Dashed);
            //
            Vector2[] Line376 = { v431, v432 };
            fun.drawPlinetype(dxf, Line376, 0.25,refin, Linetype.Dashed);
            Vector2[] Line377 = { v430, v433 };
            fun.drawPlinetype(dxf, Line377, 0.25,refin, Linetype.Dashed);
            Vector2[] Line378 = { v433, v432 };
            fun.drawPlinetype(dxf, Line378, 0.25,refin, Linetype.Dashed);
            //
            Vector2[] Line379 = { v434, v435 };
            fun.drawBLine(dxf, Line379, 0.08, contour);
            Vector2[] Line380 = { v456, v457 };
            fun.drawBLine(dxf, Line380, 0.08, contour);
            Vector2[] Line381 = { v458, v459 };
            fun.drawBLine(dxf, Line381, 0.08, contour);
            Vector2[] Line382 = { v458, v435 };
            fun.drawBLine(dxf, Line382, 0.08, contour);
            Vector2[] Line383 = { v460, v461 };
            fun.drawBLine(dxf, Line383, 0.08, contour);
            Vector2[] Line384 = { v459, v462 };
            fun.drawBLine(dxf, Line384, 0.08, contour);
            Vector2[] Line385 = { v461, v463 };
            fun.drawBLine(dxf, Line385, 0.08, contour);
            Vector2[] Line386 = { v463, v462 };
            fun.drawBLine(dxf, Line386, 0.08, contour);
            Vector2[] Line387 = { v460, v459 };
            fun.drawBLine(dxf, Line387, 0.08, contour);
            //
            Vector2[] Line388 = { v464, v465 };
            fun.drawBLine(dxf, Line388, 0.08, contour);
            Vector2[] Line389 = { v466, v467 };
            fun.drawBLine(dxf, Line389, 0.08, contour);
            Vector2[] Line390 = { v465, v467 };
            fun.drawBLine(dxf, Line390, 0.08, contour);
            Vector2[] Line391 = { v468, v469 };
            fun.drawBLine(dxf, Line391, 0.08, contour);
            Vector2[] Line392 = { v470, v471 };
            fun.drawBLine(dxf, Line392, 0.08, contour);
            Vector2[] Line393 = { v469, v471 };
            fun.drawBLine(dxf, Line393, 0.08, contour);
            Vector2[] Line394 = { v473, v472 };
            fun.drawBLine(dxf, Line394, 0.08, contour);
            Vector2[] Line395 = { v474, v475 };
            fun.drawBLine(dxf, Line395, 0.08, contour);
            Vector2[] Line396 = { v473, v475 };
            fun.drawBLine(dxf, Line396, 0.08, contour);
            Vector2[] Line397 = { v476, v477 };
            fun.drawBLine(dxf, Line397, 0.08, contour);
            Vector2[] Line398 = { v478, v479 };
            fun.drawBLine(dxf, Line398, 0.08, contour);
            Vector2[] Line399 = { v477, v479 };
            fun.drawBLine(dxf, Line399, 0.08, contour);
            //Vector2[] Line400 = { v480, v482 };
            //fun.drawBLine(dxf, Line400, 0.08, contour);
            //Vector2[] Line401 = { v481, v483 };
            //fun.drawBLine(dxf, Line401, 0.08, contour);
            //Vector2[] Line402 = { v482, v483 };
            //fun.drawBLine(dxf, Line402, 0.08, contour);
            //Vector2[] Line403 = { v482, v484 };
            //fun.drawBLine(dxf, Line403, 0.08, contour);
            //Vector2[] Line404 = { v485, v484 };
            //fun.drawBLine(dxf, Line404, 0.08, contour);
            //Vector2[] Line405 = { v485, v483 };
            //fun.drawBLine(dxf, Line405, 0.08, contour);
            Vector2[] Line406 = { v486, v487 };
            fun.drawPlinetype(dxf, Line406, 0.25,refin, Linetype.Dashed);
            Vector2[] Line407 = { v488, v489 };
            fun.drawPlinetype(dxf, Line407, 0.25,refin, Linetype.Dashed);
            Vector2[] Line408 = { v487, v489 };
            fun.drawPlinetype(dxf, Line408, 0.25,refin, Linetype.Dashed);
            //Vector2[] Line409 = { v487, v490 };
            //fun.drawPlinetype(dxf, Line409, refin, Linetype.Dashed);
            Vector2[] Line410 = { v490, v489 };
            fun.drawPlinetype(dxf, Line410, 0.25,refin, Linetype.Dashed);
            //
            Vector2[] Line411 = { v491, v490 };
            fun.drawPlinetype(dxf, Line411, 0.25,refin, Linetype.Dashed);
            Vector2[] Line412 = { v491, v487 };
            fun.drawPlinetype(dxf, Line412,0.25, refin, Linetype.Dashed);
            LwPolyline Arc34 = new LwPolyline();
            Arc34.Vertexes.Add(new LwPolylineVertex(v490));
            Arc34.Vertexes.Add(new LwPolylineVertex(v492));
            Arc34.Vertexes[0].Bulge = -f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc34, 0.08, refin, Linetype.Dashed);
            LwPolyline Arc35 = new LwPolyline();
            Arc35.Vertexes.Add(new LwPolylineVertex(v491));
            Arc35.Vertexes.Add(new LwPolylineVertex(v493));
            Arc35.Vertexes[0].Bulge = f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc35, 0.08, refin, Linetype.Dashed);
            Vector2[] Line413 = { v492, v493 };
            fun.drawPlinetype(dxf, Line413, 0.25,refin, Linetype.Dashed);
            Vector2[] Line414 = { v492, v494 };
            fun.drawPlinetype(dxf, Line414, 0.25,refin, Linetype.Dashed);
            Vector2[] Line415 = { v493, v495 };
            fun.drawPlinetype(dxf, Line415, 0.25,refin, Linetype.Dashed);
            Vector2[] Line416 = { v494, v495 };
            fun.drawPlinetype(dxf, Line416, 0.25,refin, Linetype.Dashed);
            Vector2[] Line417 = { v496, v497 };
            fun.drawPlinetype(dxf, Line417, 0.25,skdimensioning, Linetype.Dashed);
            Vector2[] Line418 = { v499, v498 };
            fun.drawPlinetype(dxf, Line418, 0.25,skdimensioning, Linetype.Dashed);
            LwPolyline Arc36 = new LwPolyline();
            Arc36.Vertexes.Add(new LwPolylineVertex(v497));
            Arc36.Vertexes.Add(new LwPolylineVertex(v499));
            Arc36.Vertexes[0].Bulge = -f / 1.2 * Math.Tan(par / 2.6) / Math.Sin(par / 1.3);
            fun.PolyFillandlinetype(dxf, Arc36, 0.06, skdimensioning, Linetype.Dashed);

            LwPolyline poly6 = new LwPolyline();
            poly6.Vertexes.Add(new LwPolylineVertex(fun.Polar(v500, 0, f * 2.8)));
            poly6.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly6.Vertexes.Add(new LwPolylineVertex(fun.Polar(v500, Math.PI, f * 2.8)));
            poly6.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly6.Vertexes.Add(new LwPolylineVertex(fun.Polar(v500, 0, f * 2.8)));
            fun.PolyFill(dxf, poly6, 0.06, skdimensioning);
            Vector2[] Line419 = { v501, v502 };
            fun.drawPlinetype(dxf, Line419, 0.25,refin, Linetype.Dashed);
            //204-205
            Vector2[] Line420 = { v503, v504 };
            fun.drawPlinetype(dxf, Line420, 0.25,refin, Linetype.Dashed);
            Vector2[] Line421 = { v505, v506 };
            fun.drawPlinetype(dxf, Line421, 0.25,refin, Linetype.Dashed);
            Vector2[] Line422 = { v507, v508 };
            fun.drawPlinetype(dxf, Line422, 0.25,refin, Linetype.Dashed);
            Vector2[] Line423 = { v509, v510 };
            fun.drawPlinetype(dxf, Line423, 0.25,refin, Linetype.Dashed);
            Vector2[] Line424 = { v508, v510 };
            fun.drawPlinetype(dxf, Line424, 0.25,refin, Linetype.Dashed);
            Vector2[] Line425 = { v508, v511 };
            fun.drawPlinetype(dxf, Line425, 0.25,refin, Linetype.Dashed);
            Vector2[] Line426 = { v510, v512 };
            fun.drawPlinetype(dxf, Line426, 0.25,refin, Linetype.Dashed);
            Vector2[] Line427 = { v511, v512 };
            fun.drawPlinetype(dxf, Line427,0.25, refin, Linetype.Dashed);
            Vector2[] Line428 = { v513, v519 };
            fun.drawBLine(dxf, Line428, 0.08, skdimensioning);
            Vector2[] Line429 = { v504, v506 };
            fun.drawPlinetype(dxf, Line429, 0.25,skdimensioning, Linetype.Dashed);
            Vector2[] Line430 = { v514, v520 };
            fun.drawBLine(dxf, Line430, 0.08, skdimensioning);
            //
            Vector2[] Line431 = { v515, v517 };
            fun.drawBLine(dxf, Line431, 0.08, skdimensioning);
            Vector2[] Line432 = { v516, v518 };
            fun.drawBLine(dxf, Line432, 0.08, skdimensioning);
            //
            //
            LwPolyline Arc37 = new LwPolyline();
            Arc37.Vertexes.Add(new LwPolylineVertex(v519));
            Arc37.Vertexes.Add(new LwPolylineVertex(v513));
            Arc37.Vertexes[0].Bulge = -f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc37, 0.08, skdimensioning, Linetype.Dashed);
            LwPolyline Arc38 = new LwPolyline();
            Arc38.Vertexes.Add(new LwPolylineVertex(v520));
            Arc38.Vertexes.Add(new LwPolylineVertex(v514));
            Arc38.Vertexes[0].Bulge = f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc38, 0.08, skdimensioning, Linetype.Dashed);
            LwPolyline Arc39 = new LwPolyline();
            Arc39.Vertexes.Add(new LwPolylineVertex(v517));
            Arc39.Vertexes.Add(new LwPolylineVertex(v515));
            Arc39.Vertexes[0].Bulge = -f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc39, 0.08, skdimensioning, Linetype.Dashed);
            LwPolyline Arc40 = new LwPolyline();
            Arc40.Vertexes.Add(new LwPolylineVertex(v518));
            Arc40.Vertexes.Add(new LwPolylineVertex(v516));
            Arc40.Vertexes[0].Bulge = f / 6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc40, 0.08, skdimensioning, Linetype.Dashed);
            Vector2[] Line433 = { v515, v519 };
            fun.drawBLine(dxf, Line433, 0.08, skdimensioning);
            Vector2[] Line434 = { v516, v520 };
            fun.drawBLine(dxf, Line434, 0.08, skdimensioning);
            Vector2[] Line435 = { v513, v517 };
            fun.drawBLine(dxf, Line435, 0.08, skdimensioning);
            Vector2[] Line436 = { v514, v518 };
            fun.drawBLine(dxf, Line436, 0.08, skdimensioning);
            fun.drawPlinetype(dxf, new Vector2[] { new Vector2(v513.X + f, v513.Y + f * 5), new Vector2(v513.X + f, v514.Y - f * 2) },0.25, centre, Linetype.Center);
            LwPolyline poly7 = new LwPolyline();
            poly7.Vertexes.Add(new LwPolylineVertex(fun.Polar(v521, 0, f * 3.6)));
            poly7.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly7.Vertexes.Add(new LwPolylineVertex(fun.Polar(v521, Math.PI, f * 3.6)));
            poly7.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly7.Vertexes.Add(new LwPolylineVertex(fun.Polar(v521, 0, f * 3.6)));
            fun.PolyFill(dxf, poly7, 0.08, skdimensioning);
            //tu3
            Vector2[] Line437 = { v522, v523 };
            fun.drawBLine(dxf, Line437, 0.08, contour);
            Vector2[] Line438 = { v522, v524 };
            fun.drawBLine(dxf, Line438, 0.08, contour);
            Vector2[] Line439 = { v523, v525 };
            fun.drawBLine(dxf, Line439, 0.08, contour);
            Vector2[] Line440 = { v524, v526 };
            fun.drawBLine(dxf, Line440, 0.08, contour);
            Vector2[] Line441 = { v525, v526 };
            fun.drawBLine(dxf, Line441, 0.08, contour);
            Vector2[] Line442 = { v527, v526 };
            fun.drawBLine(dxf, Line442, 0.08, contour);
            Vector2[] Line443 = { v525, v528 };
            fun.drawBLine(dxf, Line443, 0.08, contour);
            Vector2[] Line444 = { v527, v528 };
            fun.drawBLine(dxf, Line444, 0.08, contour);
            Vector2[] Line445 = { v529, v530 };
            fun.drawPlinetype(dxf, Line445, 0.25,refin, Linetype.Dashed);
            Vector2[] Line446 = { v531, v532 };
            fun.drawPlinetype(dxf, Line446, 0.25,refin, Linetype.Dashed);
            Vector2[] Line447 = { v527, v533 };
            fun.drawBLine(dxf, Line447, 0.08, contour);
            Vector2[] Line448 = { v528, v534 };
            fun.drawBLine(dxf, Line448, 0.08, contour);
            //
            LwPolyline Arc41 = new LwPolyline();
            Arc41.Vertexes.Add(new LwPolylineVertex(v533));
            Arc41.Vertexes.Add(new LwPolylineVertex(v535));
            Arc41.Vertexes[0].Bulge = -f / 8 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc41, 0.08, contour);
            Vector2[] Line449 = { v537, v535 };
            fun.drawBLine(dxf, Line449, 0.08, contour);
            Vector2[] Line450 = { v538, v534 };
            fun.drawBLine(dxf, Line450, 0.08, contour);
            Vector2[] Line451 = { v539, v533 };
            fun.drawBLine(dxf, Line451, 0.08, contour);
            LwPolyline Arc42 = new LwPolyline();
            Arc42.Vertexes.Add(new LwPolylineVertex(v539));
            Arc42.Vertexes.Add(new LwPolylineVertex(v540));
            Arc42.Vertexes[0].Bulge = -f / 12 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc42, 0.08, contour);
            Vector2[] Line452 = { v540, v541 };
            fun.drawBLine(dxf, Line452, 0.08, contour);
            Vector2[] Line453 = { v542, v541 };
            fun.drawBLine(dxf, Line453, 0.08, contour);
            Vector2[] Line454 = { v543, v541 };
            fun.drawBLine(dxf, Line454, 0.08, contour);
            Vector2[] Line455 = { v543, v544 };
            fun.drawBLine(dxf, Line455, 0.08, contour);
            Vector2[] Line456 = { v545, v544 };
            fun.drawBLine(dxf, Line456, 0.08, contour);
            Vector2[] Line457 = { v545, v546 };
            fun.drawBLine(dxf, Line457, 0.08, contour);
            Vector2[] Line458 = { v547, v546 };
            fun.drawBLine(dxf, Line458, 0.08, contour);
            Vector2[] Line459 = { v545, v548 };
            fun.drawBLine(dxf, Line459, 0.08, contour);
            //Vector2[] Line460 = { v545, v538 };
            //fun.drawBLine(dxf, Line460, 0.08, contour);
            Vector2[] Line461 = { v547, v549 };
            fun.drawBLine(dxf, Line461, 0.08, contour);
            //
            LwPolyline Arc43 = new LwPolyline();
            Arc43.Vertexes.Add(new LwPolylineVertex(v550));
            Arc43.Vertexes.Add(new LwPolylineVertex(v551));
            Arc43.Vertexes[0].Bulge = -f * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc43, 0.08, contour);
            //
            Vector2[] Line462 = { v552, v555 };
            fun.drawBLine(dxf, Line462, 0.08, contour);
            Vector2[] Line463 = { v556, v555 };
            fun.drawBLine(dxf, Line463, 0.08, contour);
            Vector2[] Line464 = { v552, v557 };
            fun.drawBLine(dxf, Line464, 0.08, contour);
            Vector2[] Line465 = { v558, v557 };
            fun.drawBLine(dxf, Line465, 0.08, contour);
            Vector2[] Line466 = { v555, v558 };
            fun.drawBLine(dxf, Line466, 0.08, contour);
            Vector2[] Line467 = { v559, v558 };
            fun.drawBLine(dxf, Line467, 0.08, contour);
            Vector2[] Line468 = { v560, v557 };
            fun.drawBLine(dxf, Line468, 0.08, contour);
            Vector2[] Line469 = { v560, v561 };
            fun.drawBLine(dxf, Line469, 0.08, contour);
            Vector2[] Line470 = { v558, v561 };
            fun.drawBLine(dxf, Line470, 0.08, contour);
            Vector2[] Line471 = { v562, v561 };
            fun.drawBLine(dxf, Line471, 0.08, contour);
            Vector2[] Line472 = { v559, v562 };
            fun.drawBLine(dxf, Line472, 0.08, contour);
            Vector2[] Line473 = { v563, v562 };
            fun.drawBLine(dxf, Line473, 0.08, contour);
            //
            Vector2[] Line474 = { v564, v565 };
            fun.drawBLine(dxf, Line474, 0.08, contour);
            LwPolyline Arc44 = new LwPolyline();
            Arc44.Vertexes.Add(new LwPolylineVertex(v565));
            Arc44.Vertexes.Add(new LwPolylineVertex(v566));
            Arc44.Vertexes[0].Bulge = f / 1.6 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc44, 0.08, contour);
            Vector2[] Line475 = { v566, v567 };
            fun.drawBLine(dxf, Line475, 0.08, contour);
            Vector2[] Line476 = { v568, v567 };
            fun.drawBLine(dxf, Line476, 0.08, contour);
            //
            LwPolyline poly9 = new LwPolyline();
            poly9.Vertexes.Add(new LwPolylineVertex(fun.Polar(v569, 0, f / 1.6)));
            poly9.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly9.Vertexes.Add(new LwPolylineVertex(fun.Polar(v569, Math.PI, f / 1.6)));
            poly9.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly9.Vertexes.Add(new LwPolylineVertex(fun.Polar(v569, 0, f / 1.6)));
            fun.PolyFill(dxf, poly9, 0.08, contour);
            LwPolyline poly10 = new LwPolyline();
            poly10.Vertexes.Add(new LwPolylineVertex(fun.Polar(v570, 0, f / 1.3)));
            poly10.Vertexes[0].Bulge = Math.Tan(Math.PI / 4);
            poly10.Vertexes.Add(new LwPolylineVertex(fun.Polar(v570, Math.PI, f / 1.3)));
            poly10.Vertexes[1].Bulge = Math.Tan(Math.PI / 4);
            poly10.Vertexes.Add(new LwPolylineVertex(fun.Polar(v570, 0, f / 1.3)));
            fun.PolyFill(dxf, poly10, 0.08, contour);
            Vector2[] Line477 = { v563, v571 };
            fun.drawBLine(dxf, Line477, 0.08, contour);
            Vector2[] Line478 = { v572, v571 };
            fun.drawBLine(dxf, Line478, 0.08, contour);
            Vector2[] Line479 = { v572, v573 };
            fun.drawBLine(dxf, Line479, 0.08, contour);
            LwPolyline Arc45 = new LwPolyline();
            Arc45.Vertexes.Add(new LwPolylineVertex(v572));
            Arc45.Vertexes.Add(new LwPolylineVertex(v571));
            Arc45.Vertexes[0].Bulge = -f / 1.2 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc45, 0.08, contour);
            LwPolyline Arc46 = new LwPolyline();
            Arc46.Vertexes.Add(new LwPolylineVertex(v571));
            Arc46.Vertexes.Add(new LwPolylineVertex(v574));
            Arc46.Vertexes[0].Bulge = f / 8 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc46, 0.08, contour);
            Vector2[] Line480 = { v574, v575 };
            fun.drawBLine(dxf, Line480, 0.08, contour);
            Vector2[] Line481 = { v577, v576 };
            fun.drawBLine(dxf, Line481, 0.08, contour);
            Vector2[] Line482 = { v578, v576 };
            fun.drawBLine(dxf, Line482, 0.08, contour);
            //
            Vector2[] Line483 = { v579, v568 };
            fun.drawBLine(dxf, Line483, 0.08, contour);
            Vector2[] Line484 = { v579, v580 };
            fun.drawBLine(dxf, Line484, 0.08, contour);
            Vector2[] Line485 = { v581, v580 };
            fun.drawBLine(dxf, Line485, 0.08, contour);
            Vector2[] Line486 = { v581, v582 };
            fun.drawBLine(dxf, Line486, 0.08, contour);
            Vector2[] Line487 = { v582, v583 };
            fun.drawBLine(dxf, Line487, 0.08, contour);
            Vector2[] Line488 = { v584, v579 };
            fun.drawBLine(dxf, Line488, 0.08, contour);
            Vector2[] Line489 = { v585, v584 };
            fun.drawBLine(dxf, Line489, 0.08, contour);
            Vector2[] Line490 = { v586, v587 };
            fun.drawBLine(dxf, Line490, 0.08, contour);
            Vector2[] Line491 = { v588, v568 };
            fun.drawBLine(dxf, Line491, 0.08, contour);
            Vector2[] Line492 = { v588, v589 };
            fun.drawBLine(dxf, Line492, 0.08, contour);
            Vector2[] Line493 = { v590, v589 };
            fun.drawBLine(dxf, Line493, 0.08, contour);
            Vector2[] Line494 = { v591, v590 };
            fun.drawBLine(dxf, Line494, 0.08, contour);
            Vector2[] Line495 = { v592, v590 };
            fun.drawBLine(dxf, Line495, 0.08, contour);
            Vector2[] Line496 = { v592, v593 };
            fun.drawBLine(dxf, Line496, 0.08, contour);
            Vector2[] Line497 = { v592, v594 };
            fun.drawBLine(dxf, Line497, 0.08, contour);
            Vector2[] Line498 = { v596, v592 };
            fun.drawBLine(dxf, Line498, 0.08, contour);
            Vector2[] Line499 = { v595, v591 };
            fun.drawBLine(dxf, Line499, 0.08, contour);
            Vector2[] Line500 = { v597, v591 };
            fun.drawBLine(dxf, Line500, 0.08, contour);
            LwPolyline Arc47 = new LwPolyline();
            Arc47.Vertexes.Add(new LwPolylineVertex(v597));
            Arc47.Vertexes.Add(new LwPolylineVertex(v598));
            Arc47.Vertexes[0].Bulge = f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc47, 0.08, contour);
            Vector2[] Line501 = { v598, v599 };
            fun.drawBLine(dxf, Line501, 0.08, contour);
            Vector2[] Line502 = { v600, v599 };
            fun.drawBLine(dxf, Line502, 0.08, contour);
            Vector2[] Line503 = { v601, v599 };
            fun.drawBLine(dxf, Line503, 0.08, contour);
            Vector2[] Line504 = { v602, v603 };
            fun.drawBLine(dxf, Line504, 0.08, contour);
            Vector2[] Line505 = { v601, v604 };
            fun.drawBLine(dxf, Line505, 0.08, contour);
            LwPolyline Arc48 = new LwPolyline();
            Arc48.Vertexes.Add(new LwPolylineVertex(v595));
            Arc48.Vertexes.Add(new LwPolylineVertex(v548));
            Arc48.Vertexes[0].Bulge = f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFill(dxf, Arc48, 0.08, contour);
            Vector2[] Line506 = { v548, v614 };
            fun.drawBLine(dxf, Line506, 0.08, contour);
            Vector2[] Line507 = { v601, v605 };
            fun.drawBLine(dxf, Line507, 0.08, contour);
            Vector2[] Line508 = { v606, v607 };
            fun.drawBLine(dxf, Line508, 0.08, contour);
            Vector2[] Line509 = { v608, v609 };
            fun.drawBLine(dxf, Line509, 0.08, contour);
            Vector2[] Line510 = { v610, v611 };
            fun.drawBLine(dxf, Line510, 0.08, contour);
            Vector2[] Line511 = { v613, v612 };
            fun.drawBLine(dxf, Line511, 0.08, contour);
            Vector2[] Line512 = { v614, v538 };
            fun.drawBLine(dxf, Line512, 0.08, contour);
            Vector2[] Line513 = { v615, v616 };
            fun.drawPlinetype(dxf, Line513, 0.25,refin, Linetype.Dashed);
            Vector2[] Line514 = { v617, v618 };
            fun.drawPlinetype(dxf, Line514,0.25, refin, Linetype.Dashed);
            LwPolyline Arc49 = new LwPolyline();
            Arc49.Vertexes.Add(new LwPolylineVertex(v618));
            Arc49.Vertexes.Add(new LwPolylineVertex(v615));
            Arc49.Vertexes[0].Bulge = -f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc49, 0.08, refin, Linetype.Dashed);
            LwPolyline Arc50 = new LwPolyline();
            Arc50.Vertexes.Add(new LwPolylineVertex(v617));
            Arc50.Vertexes.Add(new LwPolylineVertex(v616));
            Arc50.Vertexes[0].Bulge = f / 1.5 * Math.Tan(par) / Math.Sin(par);
            fun.PolyFillandlinetype(dxf, Arc50, 0.08, refin, Linetype.Dashed);
            Vector2[] Line515 = { v620, v619 };
            fun.drawPlinetype(dxf, Line515, 0.25,refin, Linetype.Dashed);
            Vector2[] Line516 = { v622, v621 };
            fun.drawPlinetype(dxf, Line516, 0.25,refin, Linetype.Dashed);
            Vector2[] Line517 = { v623, v620 };
            fun.drawPlinetype(dxf, Line517,0.25, refin, Linetype.Dashed);
            Vector2[] Line518 = { v622, v624 };
            fun.drawPlinetype(dxf, Line518, 0.25,refin, Linetype.Dashed);
            Vector2[] Line519 = { v625, v624 };
            fun.drawBLine(dxf, Line519, 0.08, contour);
            Vector2[] Line520 = { v627, v538 };
            fun.drawBLine(dxf, Line520, 0.08, skdimensioning);
            Vector2[] Line521 = { v626, v548 };
            fun.drawBLine(dxf, Line521, 0.08, skdimensioning);

            //
            LinearDimension dim6 = new LinearDimension(new Line(v226, v227), offset * 6, 90, dimensionStyle);
            dim6.UserText = "Φ62 ";
            dxf.AddEntity(dim6);
            LinearDimension dim7 = new LinearDimension(new Line(v241, v246), offset * 4, 270, dimensionStyle);
            dim7.UserText = "Φ92 ";
            dxf.AddEntity(dim7);
            LinearDimension dim8 = new LinearDimension(new Line(v248, v251), offset * 2, 270, dimensionStyle);
            dim8.UserText = "Φ80 ";
            dxf.AddEntity(dim8);
            LinearDimension dim9 = new LinearDimension(new Line(v227, v248), offset * 6, 0, dimensionStyle);
            dim9.UserText = "（50） ";
            dxf.AddEntity(dim9);
            LinearDimension dim10 = new LinearDimension(new Line(v246, v248), offset * 1.6, 0, dimensionStyle);
            dim10.UserText = "6 ";
            dxf.AddEntity(dim10);
            Angular2LineDimension angdim1 = new Angular2LineDimension(new Line(v246, v256), new Line(v248, v257), offset * 3, dimensionStyle);
            angdim1.UserText = "45°";
            dxf.AddEntity(angdim1);
            LinearDimension dim11 = new LinearDimension(new Line(v317, v318), offset * 6, 90, dimensionStyle);
            dim11.UserText = "Φ27H7 ";
            dxf.AddEntity(dim11);
            fun.drawPlinetype(dxf, new Vector2[] { new Vector2(v225.X - f * 6, v225.Y), new Vector2(v225.X + f * 2 + r * 3, v225.Y) },0.25, centre, Linetype.Center);
            //

            fun.drawPlinetype(dxf, new Vector2[] { new Vector2(v328.X - f * 5, v328.Y), new Vector2(v328.X + r1 * 6 + r + f * 2, v328.Y) },0.25, centre, Linetype.Center);

            LinearDimension dim20 = new LinearDimension(new Line(v345, v417), offset * 18, 180, dimensionStyle);
            dim20.UserText = "110 ";
            dxf.AddEntity(dim20);
            LinearDimension dim21 = new LinearDimension(new Line(v345, v545), offset * 20, 180, dimensionStyle);
            dim21.UserText = "200 ";
            dxf.AddEntity(dim21);
            LinearDimension dim22 = new LinearDimension(new Line(v417, v473), offset * 17, 180, dimensionStyle);
            dim22.UserText = "40 ";
            dxf.AddEntity(dim22);
            LinearDimension dim23 = new LinearDimension(new Line(v473, v545), offset * 17, 180, dimensionStyle);
            dim23.UserText = "50 ";
            dxf.AddEntity(dim23);
            LinearDimension dim24 = new LinearDimension(new Line(v545, v548), offset * 2, 270, dimensionStyle);
            dim24.UserText = "Φ80 ";
            dxf.AddEntity(dim24);
            LinearDimension dim25 = new LinearDimension(new Line(v538, v543), offset * 4, 270, dimensionStyle);
            dim25.UserText = "Φ92 ";
            dxf.AddEntity(dim25);
            LinearDimension dim26 = new LinearDimension(new Line(v538, v545), offset * 7, 180, dimensionStyle);
            dim26.UserText = "6 ";
            dxf.AddEntity(dim26);
            Angular2LineDimension angdim2 = new Angular2LineDimension(new Line(v538, v627), new Line(v548, v626), offset * 3, dimensionStyle);
            angdim2.UserText = "45°";
            dxf.AddEntity(angdim2);

            double isframe = Convert.ToInt32(data["isframe"]);
            String isframe_chose = Convert.ToString(data["isframe_chose"]);
            double scale = Convert.ToDouble(data["scale"]); //放大系数
            Vector2 p0 = new Vector2(0, 0);
            if (isframe == 1)
            {
                if (isframe_chose.Equals("0"))
                {
                    Dictionary<string, Vector2> position = Frame.frameA0X(dxf, new Vector2(p0.X - 1189 / 2.0, p0.Y + 841 / 2.0), data);
                    fun.writetext(dxf, scale + ":1", position["比例"], 3.5, 0, 0.6, "C");
                }

                if (isframe_chose.Equals("1"))
                {
                    Dictionary<string, Vector2> position = Frame.frameA1X(dxf, new Vector2(p0.X - 841 / 2.0, p0.Y + 594 / 2.0), data);
                    fun.writetext(dxf, scale + ":1", position["比例"], 3.5, 0, 0.6, "C");
                }

                if (isframe_chose.Equals("2"))
                {
                    Dictionary<string, Vector2> position = Frame.frameA2X(dxf, new Vector2(p0.X - 594 / 2.0, p0.Y + 420 / 2.0), data);
                    fun.writetext(dxf, scale + ":1", position["比例"], 3.5, 0, 0.6, "C");
                }

                if (isframe_chose.Equals("3"))
                {
                    Dictionary<string, Vector2> position = Frame.frameA3X(dxf, new Vector2(p0.X - 420 / 2.0, p0.Y + 297 / 2.0), data);
                    fun.writetext(dxf, scale + ":1", position["比例"], 3.5, 0, 0.6, "C");
                }

                if (isframe_chose.Equals("4X"))
                {
                    Dictionary<string, Vector2> position = Frame.frameA4X(dxf, new Vector2(p0.X - 297 / 2.0, p0.Y + 210 / 2.0 - 10 * 2.26), data);
                    fun.writetext(dxf, scale + ":1", position["比例"], 3.5, 0, 0.6, "C");
                }

                if (isframe_chose.Equals("4Y"))
                {
                    Dictionary<string, Vector2> position = Frame.frameA4Y(dxf, new Vector2(p0.X - 210 / 2.0, p0.Y + 297 / 2.0), data);
                    fun.writetext(dxf, scale + ":1", position["比例"], 3.5, 0, 0.6, "C");
                }
            }


            dxf.DrawingVariables.AcadVer = DxfVersion.AutoCad2007;
            dxf.Save(path);
        }
    }
}